如何告诉我自己的自定义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>
这适用于默认的Spinners,但不适用于我的自定义布局:
<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>
答案 0 :(得分:1)
<强>解决:强>
您需要添加
?android:attr/spinnerItemStyle
到布局的style属性。现在它将像实际的Spinner项目一样,并且所有更改为主题的内容都将适用。
顺便说一下 - 我在SDK中的YOUR_SDK \ platforms \ android-1.6 \ data \ res \ layout \ simple_spinner_item.xml
中找到了这个您将能够在此目录中找到其他控件的其他样式。
答案 1 :(得分:0)
您希望RelativeLayout中的TextViews使用相同的文本样式吗?
将"style=@style/SpinnerText"
属性添加到TextView。