更改微调器三角背景颜色

时间:2015-12-03 05:32:59

标签: android mobile spinner

我想用三角形背景的颜色制作微调器,它是蓝色的。但是旋转器的基本颜色仍然和以前一样。

我只找到了改变三角形颜色或微调器基本颜色的解决方案。

See this

1 个答案:

答案 0 :(得分:2)

试试这个:

  

第一种方式(更简单):

在你的xml中,确保你的微调器有一个id。在这个例子中,让我们调用id" spinner"。

在您的代码中,在onCreate()中添加以下内容:

Spinner spinner = (Spinner) findViewById(R.id.spinner);
spinner.getBackground().setColorFilter(getResources().getColor(R.color.red), PorterDuff.Mode.SRC_ATOP);

其中红色是您在values文件夹中的 colors.xml 中定义的颜色。

<强>

Spinner spinner = (Spinner) findViewById(R.id.spinner);
spinner.getBackground().setColorFilter(Color.parseColor("#AA7744"), PorterDuff.Mode.SRC_ATOP);
  

第二种方式:

您可以使用此在线工具:http://android-holo-colors.com

真的很棒。它将使用您喜欢的颜色为您生成自定义绘图。确保选择主题为holo(或其他任何你想要的)并选择微调器。

  

第三种方式:

你应该创建一个新的9补丁drawable并将其设置为android:actionDropDownStyle的背景。

这是一个例子:

    <item name="android:actionDropDownStyle">@style/customActionBarDropDownStyle</item>
    <style name="customActionBarDropDownStyle"parent="android:style/Widget.Holo.Light.Spinner">
    <item name="android:background">@drawable/custom_spinner_dropdown</item>
    </style>

您无法为几乎所有本机组件设置颜色,因为它们的背景(在大多数情况下)是9-patch png。