Android - 自定义 Spinner 小部件的外观和感觉

标签 android android-widget android-ui android-custom-view

是否可以更改 Android 微调器小部件单选按钮 的颜色。默认情况下,它显示单选按钮的绿色。

我需要将其更改为其他颜色,这可能吗?如何?

最佳答案

我知道这是一个老问题了,但是现在...

您需要创建一个自定义主题并将其应用到带有微调器的 Activity 中。

首先,您需要为"new" radio 的选中/未选中状态创建图像,您可以只提取给定的图像 btn_radio_on.pngbtn_radio_off.png 来自 sdk 的 res/drawable-* 文件夹。将它们编辑成你想要的样子(比如改变颜色或其他)并保存到你的项目中。

接下来,在您的 res/values 文件夹中创建一个新的 xml 文件,并添加以下内容:

<resources>
    <style name="CustomSpinnerRadioTheme" parent="@android:style/Theme">
        <item name="android:spinnerDropDownItemStyle">@style/EditedRadio</item>
    </style>

    <style name="EditedRadio" parent="@android:style/Widget.DropDownItem.Spinner">
        <item name="android:checkMark">@drawable/edited_radio</item>
    </style>
</resources>

然后,在 res/drawable 中创建另一个名为 edited_radio.xml 的 xml 文件,它应该包含以下内容:

<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_checked="false" android:drawable="@drawable/btn_radio_off" />
    <item android:state_checked="true" android:drawable="@drawable/btn_radio_on" />
</selector>

请确保为选中的状态引用您编辑的图像。然后您只需将 CustomSpinnerRadioTheme 应用到您的 Activity 并运行!

我找到的一个很好的资源是 Applying Styles and Themes特别是关于 Android Styles (styles.xml) 的额外引用和 Android Themes (themes.xml)

关于Android - 自定义 Spinner 小部件的外观和感觉,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3177700/

相关文章:

android - 开发 Android 应用程序的最佳 IDE 是什么?

android - "Create new Android Virtual Device (AVD)"对话框中的确定按钮不执行任何操作

Android TabHost 导致运行时错误(NullPointerException)

android - 带有附加垂直填充的 BackgroundColorSpan

android - Unresolved reference 包android studio

android - 使用 XMPP (4.1.3) 创建组时获取 "XMPPException$XMPPErrorException: XMPPError: service-unavailable - cancel"

java - (Java/Android) 计算2个日期之间的天数并以特定格式呈现结果

android - 在对话框模式下覆盖 Spinner 的下拉列表样式

Android UI - Android水平 ScrollView

android - 如何选择性地装饰 RecyclerView 项目