如何更改 Spinner 箭头的颜色或可绘制对象
How to change color or drawable of Spinner arrow
只想更改 Spinner
箭头的颜色(@color 或 @drawable)
这是唯一执行某些操作的代码,它使可绘制对象成为微调器的整个背景。 (我尝试了很多其他的想法但没有成功)
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
...
<item name="android:spinnerStyle">@style/SpinnerColor</item>
</style>
<style name="SpinnerColor" parent="Base.Widget.AppCompat.Spinner">
<item name="android:background">@drawable/ic_add_white_24dp</item>
</style>
这是我给 Spinner
充气的方式
mNavigationSpinner = new Spinner(getSupportActionBar().getThemedContext());
mNavigationSpinner.setAdapter(spinnerAdapter);
mNavigationSpinner.setOnItemSelectedListener(this);
toolbar.addView(mNavigationSpinner);
尝试更改
<item name="android:spinnerStyle">@style/SpinnerColor</item>
到
<item name="android:actionDropDownStyle">@style/SpinnerColor</item>
其中
<item name="android:background">@drawable/ic_add_white_24dp</item>
在 SpinnerColor 样式中是 StateListDrawable。 StateListDrawable 的项目是 9-patch drawables。
这是我的解决方法。
这是 Toolbar
中的样式调用,我忘记了。
在toolbar.xml
这个
app:theme="@style/ThemeOverlay.AppCompat.Light"
改成这样
app:theme="@style/ThemeOverlay.AppCompat"
app:popupTheme="@style/ThemeOverlay.AppCompat.Light"
看起来与 this
相同
好的。您可以使用以下代码更改下拉箭头颜色
在您的 styles.xml 文件中只需添加此属性即可。
<item name="android:colorControlNormal">@color/colorAccent</item>
例如。
<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
<!-- Customize your theme here. -->
<item name="colorPrimary">@color/colorPrimary</item>
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
<item name="colorAccent">@color/colorAccent</item>
<item name="android:colorControlNormal">@color/colorAccent</item>
</style>
只想更改 Spinner
箭头的颜色(@color 或 @drawable)
这是唯一执行某些操作的代码,它使可绘制对象成为微调器的整个背景。 (我尝试了很多其他的想法但没有成功)
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
...
<item name="android:spinnerStyle">@style/SpinnerColor</item>
</style>
<style name="SpinnerColor" parent="Base.Widget.AppCompat.Spinner">
<item name="android:background">@drawable/ic_add_white_24dp</item>
</style>
这是我给 Spinner
mNavigationSpinner = new Spinner(getSupportActionBar().getThemedContext());
mNavigationSpinner.setAdapter(spinnerAdapter);
mNavigationSpinner.setOnItemSelectedListener(this);
toolbar.addView(mNavigationSpinner);
尝试更改
<item name="android:spinnerStyle">@style/SpinnerColor</item>
到
<item name="android:actionDropDownStyle">@style/SpinnerColor</item>
其中
<item name="android:background">@drawable/ic_add_white_24dp</item>
在 SpinnerColor 样式中是 StateListDrawable。 StateListDrawable 的项目是 9-patch drawables。
这是我的解决方法。
这是 Toolbar
中的样式调用,我忘记了。
在toolbar.xml
这个
app:theme="@style/ThemeOverlay.AppCompat.Light"
改成这样
app:theme="@style/ThemeOverlay.AppCompat"
app:popupTheme="@style/ThemeOverlay.AppCompat.Light"
看起来与 this
相同好的。您可以使用以下代码更改下拉箭头颜色
在您的 styles.xml 文件中只需添加此属性即可。
<item name="android:colorControlNormal">@color/colorAccent</item>
例如。
<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
<!-- Customize your theme here. -->
<item name="colorPrimary">@color/colorPrimary</item>
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
<item name="colorAccent">@color/colorAccent</item>
<item name="android:colorControlNormal">@color/colorAccent</item>
</style>