如何更改 Android 中的微调按钮颜色?

How to change spinner button color in Android?

我正在尝试更改 Android 中的微调按钮颜色,但无法正常工作。有人可以帮忙吗?

  <Spinner
       android:id="@+id/spinner1"
       android:layout_width="200dp"
       android:layout_height="35dp"
       android:layout_marginTop="2dp"
       android:background="@null"
       android:layout_weight="1"
       android:layout_marginLeft="11dp"

       android:layout_alignParentBottom="true"
       android:layout_alignParentRight="true"

/>

我不是 android 专家,但这对您有帮助吗?: Spinner 按钮使用九个补丁图像 (http://www.aspose.com/java/imaging-component.aspx)。您需要在所有不同的分辨率下制作一个九补丁图像,然后将其设置为微调器的背景。

参见: http://developer.android.com/tools/help/draw9patch.html

您可以像这样在 xml 中设置微调器背景颜色:

android:background="YOUR_HEX_COLOR_CODE"

你也可以在后台设置drawable

android:background=@drawable/my_spinner

这里有两个额外的链接:

http://android-ui-utils.googlecode.com/hg/asset-studio/dist/nine-patches.html

http://android-holo-colors.com/(如果你想要相同的形状,只是不同的颜色(并且有利于整体主题)

你可以使用这个:

Drawable spinnerDrawable = mySpinner.getBackground().getConstantState().newDrawable();
    spinnerDrawable.setColorFilter(getResources().getColor(R.color.blue_m), PorterDuff.Mode.SRC_ATOP);

if (android.os.Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN) 
{
 mySpinner.setBackground(spinnerDrawable);
} else {
 mySpinner.setBackgroundDrawable(spinnerDrawable);
}