我有一个TextView
,我想在点击时更改其背景。我已经尝试过这个我在本网站和其他网站上发现的很多例子,但我似乎无法让它正常工作。
我对android开发完全不熟悉,所以我很可能错过了一些明显的东西,所以请耐心等待。我也试图通过XML而不是Java来做到这一点。
Main.xml(包含在表格布局中)
<TextView
android:id="@+id/character_option1"
android:text="Option1"
android:textColor="@color/text_off"
android:background="@drawable/selectors"
android:clickable="true"
android:padding="5dp" />
selectors.xml(在res / drawable中)
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:state_pressed="true"
android:color="@drawable/option_on">
</item>
<item
android:color="@drawable/option_off" >
</item>
</selector>
colors.xml(在res / values中)
<drawable name="option_on">#EBEBEB</drawable>
<drawable name="option_off">#CC0000</drawable>
我还在res / values中的android:color="@color/option_off"
的selectors.xml中尝试了color name="option_off"
。我尝试简单地将android:color="#CC0000"
放入selectors.xml。它都不起作用。
我不确定它一般会从选择器接收任何信息。我将默认颜色设置为红色#CC0000
只是为了检查,但背景颜色仍然是样式的默认白色。
-
这些是我尝试过的最新链接:
Selector on background color of TextView
答案 0 :(得分:2)
为background
android:background="@drawable/selectors"
selectors.xml
中的项目选择器要求您设置drawable
属性。
您正在设置无效的color
属性。
而是将color
更改为drawable
。
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:state_pressed="true"
android:drawable="@drawable/option_on">
</item>
<item
android:drawable="@drawable/option_off" >
</item>
</selector>
这是一个reference。请参阅项目标签部分。
android:drawable
可绘制资源。的必需即可。引用可绘制资源。
答案 1 :(得分:0)
尝试@color/yourcolor
获取并<color name="white">#FFFFFF</color>
设置 colors.xml中的颜色(在res / values中)
答案 2 :(得分:0)
点击更改视图背景颜色
在res / drawable / my_onclick_background.xml中:
you should resist the urge to just add ALLOW FILTERING to it. You should think about your data, your model and what you are trying to do.
然后在res / values / colors.xml中:
<?xml version="1.0" encoding="utf-8"?><selector xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:state_pressed="true"
android:drawable="@color/colorPrimary">
</item>
<item
android:drawable="@color/colorAccent" >
</item>
放入视图的xml
<?xml version="1.0" encoding="utf-8"?><resources>
<color name="colorPrimary">#008577</color>
<color name="colorPrimaryDark">#00574B</color>
<color name="colorAccent">#D81B60</color>
您完成了。