如何在LinearLayout上启用“按下”外观

时间:2012-05-19 18:09:11

标签: android focus android-linearlayout android-view

ListView为空时,我显示了以下用户界面: enter image description here

现在,我希望当用户按下“新提醒”布局时,它将变为“突出显示”状态(ICS中的蓝色焦点背景和GB中的黄色)

布局为clickable并调用了onClick方法,但用户在按下手指时没有任何指示。

我尝试将focusable设置为true,但它没有做到这一点。

如何为任何视图提供默认的“按下”效果?

谢谢!

4 个答案:

答案 0 :(得分:4)

使用您的布局,您可以使用下面的drawable设置背景。

<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_selected="true" android:drawable="@android:drawable/star_big_on" />
    <item android:state_pressed="true" android:drawable="@android:drawable/star_big_on" />
    <item android:drawable="@android:drawable/star_big_off" />
</selector>

答案 1 :(得分:2)

如下所示

<?xml version="1.0" encoding="UTF-8"?>

<item android:state_enabled="true" android:state_pressed="true" android:drawable="@drawable/left_radio_selected"/>
<item android:state_enabled="false" android:drawable="@drawable/left_radio_inactive"/>
<item android:state_enabled="true"  android:state_selected="true" android:drawable="@drawable/left_radio_selected"/>
<item android:drawable="@drawable/left_radio_active"/>

并设置linerlayout.setSelected(true);

答案 2 :(得分:1)

我不知道我是否理解正确。如果要为此布局创建按下状态,则必须准备状态可绘制xml(more info)。在那里,您可以设置在处于按下状态时布局应该是什么样的。

答案 3 :(得分:0)

我不确定,但你的问题看起来有点模糊。根据我的理解,您可能会在这篇文章Force a ListView item to stay "pressed" after being clicked?

中建议您想要的内容