【经验小谈】设置按钮点击背景 button设置点击背景 控件设置切换背景 找不到@color 没有@color属性 没有color属性

来源:互联网 发布:淘宝客怎么做巨打折 编辑:程序博客网 时间:2024/06/06 02:08


Andriod学习不深奥,经验全从实践来

大家好,今日经验分享之~ 出错的color

开篇先解决大家可能的一个问题:
    有些时候是不是在新项目里面怎么也找不到@color  而 @android:color 就没有问题?
这就是因为新项目,color.xml还没有建立,在R.java 里面根本根本没有生成相关的id,如何能够引用color呢?所以请遇到这个问题新建color.xml,如此奇葩事件大家还是少出为好...


接下来解决一个问题,如下面所演示的
如果我们想要一个控件点击有背景切换,而且不想用具体的ui图来表示的话,我们可能用色值来表示
<?xml version="1.0" encoding="UTF-8"?><selector xmlns:android="http://schemas.android.com/apk/res/android">    <item android:drawable="@color/blue_deep" android:state_enabled="true" android:state_selected="true"/>    <item android:drawable="@color/blue_deep" android:state_enabled="true" android:state_pressed="true"/>    <item android:drawable="@null"/></selector>
如上如缩写一定会报错,会提示你xml erro...   这个时候如果不认真的检查的话这个问题会困扰你很久

一定要这么写
<?xml version="1.0" encoding="UTF-8"?><selector xmlns:android="http://schemas.android.com/apk/res/android">    <item android:drawable="@color/blue_deep" android:state_enabled="true" android:state_selected="true"/>    <item android:drawable="@color/blue_deep" android:state_enabled="true" android:state_pressed="true"/>    <item android:drawable="@color/transparency"/>    <!-- 这里代表的是  #00000000 你懂的透明 --></selector>
其中
    <color name="transparency">#00000000</color>

所以是xml设置中,不是不能用color,而是不能设置为@null,因为系统在读取这个属性的时候,如果为空将不能正确的执行,所以请注意这个地方


欢迎转载,转载请注明出处



                                             
0 0
原创粉丝点击