android:样式不适用于xml布局

android:样式不适用于xml布局,android,android-layout,styles,android-theme,android-styles,Android,Android Layout,Styles,Android Theme,Android Styles,我需要将自定义样式应用于微调器 以下是styles.xml中的我的样式: <style name="spinnerItemStyle"> <item name="android:textColor">@color/font</item> <item name="android:textSize">@dimen/small_text</item> </style> <style name="spinne

我需要将自定义样式应用于微调器

以下是styles.xml中的我的样式:

<style name="spinnerItemStyle">
    <item name="android:textColor">@color/font</item>
    <item name="android:textSize">@dimen/small_text</item>
</style>

<style name="spinnerDropDownItemStyle">
    <item name="android:padding">10dp</item>
    <item name="android:textColor">@color/font</item>
    <item name="android:textSize">@dimen/small_text</item>
    <item name="android:background">@color/unpressed2</item>
</style>
<style name="AppTheme" parent="Theme.AppCompat.Light">
    <item name="android:windowNoTitle">true</item>
    <item name="android:windowActionBar">false</item>
    <item name="android:windowFullscreen">true</item>
    <item name="android:windowContentOverlay">@null</item>
    <item name="colorButtonNormal">@color/unpressed2</item>
    <item name="android:buttonStyle">@style/ButtonColor</item>
    <item name="android:textColor">@color/font</item>

    <!-- spinner styles -->
    <item name="android:spinnerItemStyle">
        @style/spinnerItemStyle
    </item>
    <item name="android:spinnerDropDownItemStyle">
        @style/spinnerDropDownItemStyle
    </item>
</style>

@颜色/字体
@尺寸/小字体
10dp
@颜色/字体
@尺寸/小字体
@颜色/未装配2
我在布局中这样做:

android:spinnerItemStyle=“@style/spinnerItemStyle” android:spinnerDropDownItemStyle=“@style/spinnerDropDownItemStyle”


问题是微调器忽略了应用的样式

我还发现,如果我在styles.xml内的自定义应用程序主题中执行此操作,它将非常有效:

<style name="spinnerItemStyle">
    <item name="android:textColor">@color/font</item>
    <item name="android:textSize">@dimen/small_text</item>
</style>

<style name="spinnerDropDownItemStyle">
    <item name="android:padding">10dp</item>
    <item name="android:textColor">@color/font</item>
    <item name="android:textSize">@dimen/small_text</item>
    <item name="android:background">@color/unpressed2</item>
</style>
<style name="AppTheme" parent="Theme.AppCompat.Light">
    <item name="android:windowNoTitle">true</item>
    <item name="android:windowActionBar">false</item>
    <item name="android:windowFullscreen">true</item>
    <item name="android:windowContentOverlay">@null</item>
    <item name="colorButtonNormal">@color/unpressed2</item>
    <item name="android:buttonStyle">@style/ButtonColor</item>
    <item name="android:textColor">@color/font</item>

    <!-- spinner styles -->
    <item name="android:spinnerItemStyle">
        @style/spinnerItemStyle
    </item>
    <item name="android:spinnerDropDownItemStyle">
        @style/spinnerDropDownItemStyle
    </item>
</style>

真的
假的
真的
@空的
@颜色/未装配2
@样式/钮扣颜色
@颜色/字体
@风格/喷丝头风格
@样式/喷丝板DropDownItemStyle

为什么使用第二种方法而不使用第一种方法?

styles.xml文件

在styles.xml文件中添加以下xml代码


@风格/喷丝头风格
@样式/喷丝板DropDownItemStyle
yourlayout.xml

在微调器中使用此样式

例如:-

<Spinner
       android:id="@+id/songSpinner"
       android:layout_width="wrap_content"
       android:layout_height="wrap_content"
       android:theme="@style/CustomSpinner">
  </Spinner>


android:spinnerItemStyle
spinnerDropDownItemStyle
是在主题级别定义的属性。这并不意味着您可以在
视图中使用
android:spinnerItemStyle
。您可以定义类似于
@style/spinnerItemStyle@style/spinnerDropDownItemStyle
的内容,然后在
Spinner
布局中使用
android:theme=“@style/CustomSpinner”
属性必须复制我的评论。@GabrieleMariotti先生,请系统地输入您的答案,许多用户无法理解评论答案,所以我系统地给出了答案。