Android RelativeLayout更改颜色onClick

时间:2011-04-26 11:30:52

标签: java android

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

我尝试使用绑定到background属性的选择器,如下所示:

<?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>

并在Layouts backround中使用它......

android:background="@color/layout_selector"

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

有什么想法吗?

4 个答案:

答案 0 :(得分:52)

请尝试以下步骤:

res - &gt;值文件夹创建 color.xml ,内容为:

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

由于选择器中的<item>标记需要定义drawable的drawable属性或子标记,因此 layout_selector.xml 文件(保存在 res - &gt; drawable <中/ strong>)应该是这样的:

<?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"

希望有所帮助

答案 1 :(得分:10)

在RealtiveLayout的android:background属性上使用selector。 同时使布局可以点击(通过android:clickable="true")。

答案 2 :(得分:0)

布局不会显示在屏幕上。他们只能提出意见。你应该添加一些View,然后将onClick监听器添加到该视图。

可能的dublicate:Android clickable layout

答案 3 :(得分:0)

将此layout_selector.xml放在drawable文件夹即(res&gt; drawable&gt; layout_selector.xml) 然后设置android:background="@drawable/layout_selector"而不是android:background="@color/layout_selector"