Я пытаюсь изменить дизайн Spinner виджет. Я могу изменить фон, но я не могу найти способ изменить значок стрелки на правой стороне. Есть ли способ сделать это?
Спасибо!
Я пытаюсь изменить дизайн Spinner виджет. Я могу изменить фон, но я не могу найти способ изменить значок стрелки на правой стороне. Есть ли способ сделать это?
Спасибо!
Все это одно изображение patch p patch. Я изменил весь вид прядильщиков, заменив изображения. См. Эту страницу: http://androiddrawableexplorer.appspot.com/
В частности, посмотрите на btn_dropdown_normal.9, btn_dropdown_pressed.9, btn_dropdown_selected.9 и btn_dropdown_disabled.9
Вам просто нужно предоставить свои собственные версии этих изображений.
Кроме того, вы можете разместить макет "прядильный бар" в FrameLayout вместе с реальным счетчиком, но установить его невидимым:
<FrameLayout
android:layout_width="fill_parent"
android:layout_height="32dip"
>
<Spinner
android:id="@+id/theSpinner"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:visibility="invisible"
/>
<RelativeLayout
android:layout_width="fill_parent"
android:layout_height="32dip"
android:background="@drawable/my_background"
android:padding="6dip"
android:clickable="true"
android:onClick="spinnerBarReplacementClicked"
>
<ImageView
android:id="@+id/replacementSelectImg"
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:layout_alignParentRight="true"
android:layout_centerVertical="true"
android:src="@drawable/my_drawable"
/>
<TextView
android:id="@+id/replacementSelectText"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_centerVertical="true"
android:layout_marginLeft="4dip"
android:layout_toLeftOf="@id/replacementSelectImg"
android:textColor="#000000"
android:textSize="14sp"
android:ellipsize="marquee"
android:singleLine="true"
/>
</RelativeLayout>
</FrameLayout>
и передать клики с вашего макета на реальный счетчик
private Spinner mSpinner;
mSpinner = (Spinner) findViewById(R.id.theSpinner);
public void spinnerBarReplacementClicked(View pV){
mSpinner.performClick();
}