更改微调下拉菜单项文本的颜色和文字大小

问题描述 投票:0回答:3

我使用的是Android的数据绑定和的那部分,我有一个项目(在strings.xml中声明数组)旋作为

android:entries="@string/items"

现在我想改变下拉列表项的文字颜色和大小。我想了创建项目一个单独的布局,并使用它通过Java(传递项目布局阵列适配器和设置该适配器的微调)来做到这一点。

我试了很多办法和到处搜寻,但没有找到合适的解决方案。

任何帮助表示赞赏。

android android-spinner android-databinding
3个回答
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您微调


0
投票

只需创建一个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);

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>
© www.soinside.com 2019 - 2024. All rights reserved.