java - Android RelativeLayout 改变颜色 onClick

标签 java android

如何像普通按钮一样更改我用作可点击点击的相对布局的颜色? 就像我想要一个视觉反馈一样,布局被按下了。

我尝试使用绑定(bind)到背景属性的选择器,如下所示:

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
   <item android:state_focused="true" android:color="@android:color/black"/>
   <item android:state_pressed="true" android:state_enabled="false" android:color="@android:color/black" />
   <item android:color="@android:color/white"/>
</selector>

并在布局背景中使用它...

android:background="@color/layout_selector"

但这给了我一个 Inflate Exception...

有什么想法吗?

最佳答案

尝试以下步骤:

res --> values 文件夹中创建 color.xml 内容:

<?xml version="1.0" encoding="utf-8"?>
<resources>     
    <color name="black">#000000</color> 
    <color name="white">#ffffff</color>
</resources>

作为 <item>选择器中的标签需要一个可绘制属性或定义可绘制的子标签,您的 layout_selector.xml 文件(保存在 res --> drawable 中)应如下所示:

<?xml version="1.0" encoding="utf-8"?> 
<selector xmlns:android="http://schemas.android.com/apk/res/android">   
    <item android:state_focused="true" android:drawable="@color/black"/> 
    <item android:state_pressed="true" android:state_enabled="false" android:drawable="@color/black" />
    <item android:drawable="@color/white"/> 
 </selector>

另外,如前所述,相对布局应该是可点击的(android:clickable="true")

其背景设置为android:background="@drawable/layout_selector"

希望对你有帮助

关于java - Android RelativeLayout 改变颜色 onClick,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5789661/

相关文章:

Java无限循环问题

java - 尽管有属性,为什么布局却以相反的方式放置?

android - 缩放和平移 ImageView Android

android - 如何在无限循环中不断更新 Activity 中的 TextView?

java - 如何根据一些 session 信息 Autowiring Spring bean

Java,OpenCV VideoWriter isOpened 总是返回 false

java - 从旧 (1.x) 原型(prototype)创建的 Maven 项目

java - Douglas–Peucker 简化边

java - android - 如何排序 List<Map<String, String>>

java - 自定义 View 的适配器中的 NullPointerException