我使用的是Android的数据绑定和的那部分,我有一个项目(在strings.xml中声明数组)旋作为
android:entries="@string/items"
现在我想改变下拉列表项的文字颜色和大小。我想了创建项目一个单独的布局,并使用它通过Java(传递项目布局阵列适配器和设置该适配器的微调)来做到这一点。
我试了很多办法和到处搜寻,但没有找到合适的解决方案。
任何帮助表示赞赏。
您可以创建一个样式,将其设置为通过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
您微调
只需创建一个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"
/>
然后在ArrayAdapter
设置新的XML:
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,R.layout.my_spinner,data);
spinner.setAdapter(adapter);
您应该使用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>