更改微调框下拉项的文本颜色和大小

时间:2019-01-28 19:01:04

标签: android android-spinner android-databinding

我正在使用android数据绑定,作为其一部分,我有一个带有项目(在strings.xml中声明的数组)为

的微调器
android:entries="@string/items"

现在,我想更改下拉菜单项的文本颜色和大小。 我想做到这一点,而无需为项目创建单独的布局并通过java使用它(将项目布局传递给数组适配器并将该适配器设置为微调器)。

我尝试了很多方法,并在所有地方进行了搜索,但是找不到合适的解决方案。

感谢您的帮助。

3 个答案:

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