在Android中为CheckedTextView定义选中和按下状态的可绘制对象。

4

我有目前的代码

<?xml version="1.0" encoding="UTF-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">  
    <item
        android:state_checked="true"
        android:drawable="@drawable/list_button_selected" />                                   
    <item
        android:state_pressed="true"
        android:drawable="@drawable/list_button_pressed" />
    <item 
        android:drawable="@drawable/list_button" />
</selector>

我已经为我的CheckedTextView设置了样式,它可以正常工作。但是当它被选中并且我点击它时,它会显示默认的安卓背景颜色。如何覆盖这个颜色呢?我尝试过

<item
    android:state_checked="true"
    android:state_pressed="true"
    android:drawable="@drawable/list_button_selected" />  

但它没有起作用。

1
我认为每个项目的预期用途是要完全限定每一个。这意味着对于选中和按下,应该有一个<item>标签,对于选中但未按下的情况,应该有一个标签,对于未选中但按下的情况,也应该有一个标签,最后还应该有一个标签来表示未选中且未按下的情况。 - xbakesx
在我的情况下,顺序很重要,所以我只是交换了“checked”和“pressed”,现在它可以工作了。 - FrEaKmAn
将下列与程序相关的内容从英语翻译成中文。请仅返回翻译后的文本:将使用第一个匹配项 - 因此,如果您提供所有可能的组合,则顺序不应重要。 - ataulm
1个回答

5
在我的情况下,顺序很重要。我不得不交换“checked”和“pressed”,现在它可以正常工作了。

定义状态选择器资源时,顺序很重要 :) 做得好 ;) - andrea.rinaldi

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接