Как я могу рассказать свой собственный макет Spinner для использования моей темы?Как я могу рассказать свой собственный макет Spinner для использования моей темы?
Стиль:
<style name="SpinnerText" parent="@android:style/Widget.TextView.SpinnerItem">
<item name="android:textAppearance">@style/AnswerTextElement</item>
<item name="android:gravity">center_vertical|center_horizontal</item>
</style>
Тема:
<style name="ApplicationTheme" parent="android:style/Theme.NoTitleBar">
<item name="android:buttonStyle">@style/Button</item>
<item name="android:spinnerStyle">@style/Spinner</item>
<item name="android:spinnerItemStyle">@style/SpinnerText</item>
</style>
Это работает по умолчанию Спиннерса, однако не работает с моим пользовательским макетом:
<RelativeLayout android:layout_width="fill_parent"
android:layout_height="fill_parent" xmlns:android="http://schemas.android.com/apk/res/android">
<TextView android:layout_height="wrap_content" android:id="@+id/text1"
android:text="label name" android:layout_width="fill_parent"
android:layout_toLeftOf="@+id/check1"></TextView>
<CheckBox android:layout_width="wrap_content"
android:layout_height="wrap_content" android:id="@+id/check1"
android:layout_alignParentRight="true" android:clickable="false"
android:focusable="false" android:focusableInTouchMode="false"
style="@style/CheckBoxPlainBackground"></CheckBox>
</RelativeLayout>
Я понимаю это, но это будет означать, что если бы я изменил эту тему, мне пришлось бы вручную обновлять их макет - я не хочу этого делать. Кстати, я попробовал добавить @android: style/Widget.TextView.SpinnerItem как стиль, думающий, что он будет использовать переопределенный стиль, но он не работает. – jax
Попробовали ли вы создать пользовательский вид на основе Spinner? Тогда вы можете легко стилизовать его. (Http://developer.android.com/guide/topics/ui/custom-components.html#modifying) –