stretching spinner icon
when I am using my own background theme for spinner it is stretching icon.
my开发者_如何学编程 spinner code is:
<Spinner android:id="@+id/spinnerCategory" style="@style/spinner"
android:entries="@array/category_array" android:prompt="@string/category_prompt"
android:background="@drawable/spinner" />
my spinner.xml is:
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_window_focused="false" android:state_enabled="true"
android:drawable="@drawable/btn_dropdown_normal" />
<item android:state_pressed="true" android:drawable="@drawable/btn_dropdown_pressed" />
<item android:state_focused="true" android:state_enabled="true"
android:drawable="@drawable/btn_dropdown_selected" />
<item android:state_enabled="true" android:drawable="@drawable/btn_dropdown_normal" />
</selector>
and images I copied from the sdk 4.
How can I stop spinner icon stretching?
I had the same problem. I just hard-coded the height of spinner to somewhere near about 48-50 dip.
You need to create 9 patch image like in this tuto: http://stephenpengilley.blogspot.fr/2013/01/android-custom-spinner-tutorial.html
or create a dynamic drawable background (dropdown_shape.xml) like:
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item>
<layer-list>
<item
android:bottom="6sp"
android:top="6sp"
>
<shape
android:thickness="0dp"
android:shape="rectangle">
<solid android:color="@android:color/white"/>
<stroke android:width="1dip" android:color="#000000" />
<corners android:radius="6sp"/>
</shape>
</item>
<item
android:gravity="center_vertical|right"
android:right="18sp"
>
<vector
android:height="12sp"
android:width="16sp"
android:viewportHeight="100"
android:viewportWidth="100" >
<group>
<path
android:strokeWidth="3"
android:strokeColor="#000000"
android:fillColor="#FF0000"
android:pathData="m 0,0 l 100,0 -50,100 z" />
</group>
</vector>
</item>
</layer-list>
</item>
and use it like:
<Spinner
android:layout_width="wrap_content"
android:layout_height="58dp"
android:entries="@array/month_array"
android:background="@drawable/dropdown_shape"
android:paddingStart="12dp"
android:paddingEnd="40dp"
android:spinnerMode="dropdown" />
精彩评论