我有一个文本视图,我正在设置文本颜色如下:
<TextViw
android:id = "@+id/tv"
android:clickable = "true"
android:textColor = "@color/clickable_text"
android:textSize="16sp"
/>
选择器是
<item android:state_pressed "true" android:color = "#FF0000" /> //which is red
<item android:color = "#00FF66" /> //which is Green
textview启动Green,这是预期的。如果我点击(例如按住它),颜色会变为红色,这很好。但是当释放咔哒声时(即触开它)。然后颜色变成黄色!这是默认颜色android可以在点击时将可点击视图更改为。 WHY !!!!
它不应该像我预期的那样恢复绿色吗?问题是,即使我在活动之间移动并返回,这种颜色仍然存在 有帮助吗? 谢谢
答案 0 :(得分:0)
您通常希望拥有按下,聚焦和默认状态。并且总是把默认状态放在最后。我的猜测是,如果你长按然后松开,按钮没有按下(红色),但仍然是聚焦的。因此,将您的重点改为绿色以及
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="true"
android:color = "#FF0000" /> <!-- pressed -->
<item android:state_focused="true"
android:color = "#00FF66" /> <!-- focused -->
<item android:color = "#00FF66" /> <!-- default -->
</selector>
答案 1 :(得分:0)
我知道这不是您问题的确切答案,但此链接中的提示可能会对您有所帮助:Android how to make TextView text bold when pressed or focussed。我希望这会对你有所帮助。