我正在使用android数据绑定,作为其一部分,我有一个带有项目(在strings.xml中声明的数组)为
的微调器android:entries="@string/items"
现在,我想更改下拉菜单项的文本颜色和大小。 我想做到这一点,而无需为项目创建单独的布局并通过java使用它(将项目布局传递给数组适配器并将该适配器设置为微调器)。
我尝试了很多方法,并在所有地方进行了搜索,但是找不到合适的解决方案。
感谢您的帮助。
答案 0 :(得分:1)
只需创建一个带有textview及其属性的新xml:
my_spinner.xml
:
<?xml version="1.0" encoding="utf-8"?>
<TextView
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textSize="12sp"
android:textColor="#f51111"
/>
Luego set el nuevo xml en el ArrayAdapter
:
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,R.layout.my_spinner,data);
spinner.setAdapter(adapter);
答案 1 :(得分:0)
您可以创建样式并将其设置为通过xml旋转器
<style name="customStyle" parent="@android:style/Widget.Holo.DropDownItem.Spinner">
<item name="android:textColor">#000</item>
<item name="android:textSize">12dp</item>
</style>
将customStyle
设置为您的微调器
答案 2 :(得分:0)
您应该使用android.support.v7.widget.AppCompatSpinner
。
<android.support.v7.widget.AppCompatSpinner
style="@style/Widget.AppCompat.Spinner.Underlined"
android:theme="@style/Spinner"
android:entries="@array/special_fx_arrays"
android:textSize="@dimen/text_size_normal"/>
这里放入styles.xml
<style name="Spinner" parent="Widget.AppCompat.Light.DropDownItem.Spinner">
<item name="android:paddingStart">0dp</item>
<item name="android:paddingEnd">0dp</item>
<item name="android:textColor">@color/white</item>
<item name="android:backgroundTint">@color/red</item>
<item name="android:textSize">14sp</item>
</style>