Как мне сказать, что моя собственная Spinner Layout будет использовать мою тему? - PullRequest
1 голос
/ 21 мая 2010

Как мне сказать, что мой собственный макет Spinner будет использовать мою тему?

Style:

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

Ответы [ 2 ]

1 голос
/ 21 мая 2010

РЕШИТЬ:

Вам нужно добавить

?android:attr/spinnerItemStyle

к атрибуту стиля макета. Теперь он будет действовать как фактический предмет Spinner, и все изменения, внесенные в тему, будут применяться.

Кстати - я нашел это в SDK под YOUR_SDK \ platform \ android-1.6 \ data \ res \ layout \ simple_spinner_item.xml

В этом каталоге вы сможете найти другие стили для других элементов управления.

0 голосов
/ 21 мая 2010

Вы хотите, чтобы ваши TextViews в RelativeLayout использовали тот же стиль текста? Добавьте атрибут "style=@style/SpinnerText" в TextView.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...