Domanda

Ho uno spinner personalizzato che utilizza due viste personalizzate, una per il menu a discesa e una per l'elemento attualmente selezionato.

Il mio problema è che la vista personalizzata per l'elemento attualmente selezionato è sempre larga almeno quanto l'elemento più lungo nell'elenco di spinner e lascia un divario considerevole sul lato sinistro della mia vista personalizzata. Se seleziono l'elemento più lungo dallo spinner, il divario scompare. Ho provato Android: Gravity = "Left" per la mia vista personalizzata. Si noti inoltre che questo sembra essere solo un problema con Android 3.0+.

This shows the gap when a short spinner entry is selected

Notice no gap is present between the icon and folder name

Ecco il codice per la mia vista filatore personalizzata:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/folder_detail" android:layout_height="wrap_content" android:orientation="horizontal" android:layout_width="wrap_content">

<TextView android:text="Folder Name" 
    android:id="@+id/folder_name" android:textColor="#ffffff"
    android:layout_width="wrap_content" android:textSize="16sp"
    android:textStyle="bold"
    android:layout_height="wrap_content" android:layout_marginTop="0dp">
</TextView>

    <TextView android:id="@+id/folder_count" android:layout_width="wrap_content" android:layout_height="wrap_content" android:textSize="13sp"  android:text="(0) " android:textColor="@color/light_blue" android:layout_marginLeft="2dp"/>


<ImageView android:id="@+id/icon" android:src="@android:drawable/arrow_down_float" 
    android:layout_marginRight="1dp" android:scaleType="fitXY"
    android:layout_gravity="bottom" android:layout_width="wrap_content" android:layout_height="wrap_content"/>
 </LinearLayout> 
È stato utile?

Soluzione

Questo è intenzionale. Impedisce al filatore di cambiare drasticamente le dimensioni man mano che la selezione cambia.

Non è destinato a includere una freccia come parte della vista dell'oggetto; Questo è normalmente incluso come parte dello sfondo 9 patch del filatore stesso. L'impostazione della gravità sullo spinner stesso controlla l'allineamento della vista elemento selezionata all'interno del filatore. Il tema Holo lo allinea a sinistra, mentre i temi legacy sono centrali orizzontalmente.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top