0

2つのカスタムビューを使用するカスタムスピナーがあります.1つはドロップダウン用で、もう1つは現在選択されているアイテム用です。Androidカスタムスピナー

私の問題は、現在選択されているアイテムのカスタムビューは、常にスピナーリストの最長アイテムと同じ幅であり、カスタムビューの左側にかなりの隙間が残ることです。スピナーから最長のアイテムを選択すると、そのギャップが消えます。私はアンドロイド:重力=私のカスタムビューのための "左"を試してみました。また、これは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

私のカスタムスピナービューのコードです:

<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> 

答えて

2

これは意図的なものです。選択が変更されると、スピナーのサイズが大幅に変わるのを防ぎます。

あなたはアイテムビューの一部として矢印を含めるつもりはありません。これは、通常、スピナー自体のバックグラウンド9パッチの一部として含まれています。スピナー自体の重力設定は、スピナー内の選択したアイテムビューのアライメントを制御します。ホロのテーマはそれを左に整列させ、レガシーのテーマは水平に配置します。

関連する問題