Java 为后台创建状态列表可绘制XML-Android
我正在努力使以下状态列表正常工作。其想法是创建一个白色背景Java 为后台创建状态列表可绘制XML-Android,java,android,xml,layout,colors,Java,Android,Xml,Layout,Colors,我正在努力使以下状态列表正常工作。其想法是创建一个白色背景 <selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:state_window_focused="false" android:state_selected="true" android:drawable="@android:color/transparent" /> <it
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_window_focused="false" android:state_selected="true"
android:drawable="@android:color/transparent" />
<item android:state_selected="true" android:drawable="@android:color/transparent" />
<item android:state_pressed="true" android:state_selected="false"
android:drawable="@android:color/transparent" />
<item android:state_selected="false" android:drawable="@color/WHITE" />
</selector>
当我尝试编译这个时,我得到了以下错误
@color/transparent和@color.WHITE不存在。
我需要在某个地方定义这些吗?如果需要,如何定义
谢谢 尝试创建如下资源文件:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<color name="white">#ffffff</color>
</resources>
#ffffff
让我们看看是否有人知道透明的我想唯一的问题是你直接引用了一种颜色,而不是实际的
可绘制的
。首先尝试创建一个ColorDrawable
,并在您的StateListDrawable
中使用它
创建
ColorStateList
(与StateListDrawable
不同,因为它是一个颜色列表,而不是Drawable
s),您可以直接使用颜色…您必须使用@android:color
,否则它不知道颜色的定义位置
android:background="@android:color/white"
AARGGBB将设置透明度
#80FFFF将设置透明度值为80的白色。
在Android的调色板中,没有定义透明 ,但是您可以定义不透明度,这将产生透明度,下面是一个关于如何使用它的好示例: 下面是一个关于如何在res/value/colors.xml中声明自定义颜色的代码片段
#FFFFFF
现在有了透明度:
#FFFFFFFF
正在状态列表中使用:
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@color/colorWhite" android:state_hovered="true"/>
</selector>
@color/transparent
作为@android:color/transparent
存在。
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@color/colorWhite" android:state_hovered="true"/>
</selector>