我有一个单选按钮的
textColor
选择器,如下所示:
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_selected="true" android:color="#fff"/>
<item android:state_focused="true" android:color="#f00"/>
<item android:state_pressed="true" android:color="#0f0"/>
<item android:state_focused="false" android:state_pressed="false" android:color="#00f"/>
</selector>
我希望选中的
单选按钮
的颜色与其他按钮不同。
然而,所有的
单选按钮
都有蓝色文本(使用Android:state_focused=“false”Android:state_pressed=“false”),即使是选中的那一个。
我做错了什么?
@GrantAmos提供的答案是完美且有效的。如果您想通过XML创建文本颜色选择器,请使用以下代码。
android:textColor=“@color/textview_选择器”
但是,如果您想以编程方式设置选择器,请使用以下代码-
radioButton.setTextColor(ContextCompat.getColorStateList(getContext(), R.color.textview_selector));
希望这能节省别人的时间。
根据Android的说法。https://developer.android.com/guide/topics/resources/color-list-resource.html. https://developer.android.com/reference/android/content/res/ColorStateList.html
您必须在'res'目录中创建一个名为'color'的文件夹,并创建一个名为radiobuttonstate的新文件。比如xml,它看起来像这样。
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_focused="true"
android:color="YOUR COLOR" />
<item
android:state_pressed="true"
android:state_enabled="false"
android:color="YOUR COLOR" />
<item android:color="YOUR COLOR"
android:state_checked="true"/>
<item
android:state_enabled="false"
android:color="YOUR COLOR" />
<item android:color="YOUR COLOR" />
</selector>
然后在你的单选按钮中,在android:textColor属性中定义你之前定义的颜色列表。
<RadioButton
android:id="@+id/radio_H"
android:layout_width="30dp"
android:layout_height="30dp"
android:text="@string/string_example"
android:textColor="@color/radiobuttonstate"
android:textAlignment="center" />
看起来您只是使用了错误的选择器。文档对选择的描述如下:
在每次状态更改期间,从上到下遍历状态列表,并使用与当前状态匹配的第一个项目——选择不是基于“最佳匹配”,而只是满足状态最低标准的第一个项目。
源链接
因此,为了:
如果你想看到不同的状态,试试这些:
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="true" android:color="#0f0"/>
<item android:state_checked="true" android:color="#fff"/>
<item android:color="#00f"/>
</selector>
我已经测试了上面的内容,可以看到所有颜色都被恰当地表达出来。
关于选择颜色 可以通过使用 Illustrator 中的各种工具、面板和对话框为图稿选择颜色。如何选择颜色取决于图稿的要求。例如,如果希望使用公司认可的特定颜色,则可以从公司认可的色板库中选择颜色。如果希望颜色与其他图稿中的颜色匹配,则可以使用吸管或拾色器并输入准确的颜色值。 可以使用下列任一功能来选择颜色: 色板面板和色板库面板提供不同的颜色和颜色组。可以从现有的色板和库中选择颜色,也可以创建自
我该怎么做? 这是我用来更改文本颜色的: 我设置了<代码> 有什么想法吗?
颜色字段存储一个字符串作为其值,并存储一个字符串作为其文本。 它的值是格式为#rrggbb的字符串,而其文本也可以是格式为#rgb的字符串。 颜色字段 打开编辑器的颜色字段 压缩的颜色字段 新建 { "type": "example_colour", "message0": "colour: %1", "args0": [ { "type": "field_colo
用于颜色选择,支持多种格式。 基础用法 使用 v-model 与 Vue 实例中的一个变量进行双向绑定,绑定的变量需要是字符串类型。 <div class="block"> <span class="demonstration">有默认值</span> <el-color-picker v-model="color1"></el-color-picker> </div> <div clas
ColorPicker 颜色选择器 用于颜色选择,支持多种格式。 基础用法 :::demo 通过value属性控制当前显示的颜色。 render() { const color1 = '#20a0ff'; const color2 = null; return ( <div> <div className="block"> <span classNa
ColorPicker 颜色选择器 用于颜色选择,支持多种格式。 基础用法 使用 v-model 与 Vue 实例中的一个变量进行双向绑定,绑定的变量需要是字符串类型。 <div class="block"> <span class="demonstration">有默认值</span> <el-color-picker v-model="color1"></el-color-picker