【发布时间】:2014-02-11 22:55:09
【问题描述】:
您好,我正在尝试让我的线性布局像按钮一样工作。 我的意思是当状态改变时我试图改变它的背景颜色。 我用selector解决了,还是不行。
我寻找解决方案,他们说的只是添加可点击属性。 我已经这样做了。
我的 LinearLayout 包含两个 LinearLayout,每个 LinearLayout 包含 9 个 TextView。 它们完全填满了我的 LinearLayout。
我想到的是它的孩子正在吸收点击事件,而我的 LinearLayout 并没有将其状态更改为按下。
所以我在我的 LinearLayout 的每个孩子上都将 clickable 和 focusalbe 属性设置为 false。
不过还是一样。
这是我的代码。
这是选择器 jbbtn.xml
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android" >
<item android:state_enabled="true" android:state_pressed="true"
android:drawable="@drawable/jbbtn_pressed"/>
<item android:state_enabled="true"
android:drawable="@drawable/jbstyle_transparent"/>
<item android:state_enabled="false" android:drawable="@drawable/jbbtn_disabled"/>
</selector>
这是我的线性布局
<LinearLayout
android:id="@+id/llCurrents"
android:background="@drawable/jbbtn"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_alignParentBottom="true"
android:layout_alignParentLeft="true"
android:layout_alignTop="@+id/llTimer"
android:layout_below="@id/btnMenu"
android:layout_marginRight="3sp"
android:clickable="true"
android:focusable="true"
android:orientation="horizontal"
android:padding="3sp" >
~~~~~~
</LinearLayout>
【问题讨论】:
-
你设置jbbtn.xml作为
LinearLayout的背景了吗?这就是“没用”的意思吗? -
在你的 LinearLayout 中试试这个
android:descendantFocusability="blocksDescendants"。 -
@Emmanuel 是的,有什么问题..?当我搜索解决方案时,我只看到其他人这样做:(
-
@Ketan 也不行
-
你的意思是“涟漪效应”吗?也许将此添加到您的 TextViews:
android:background="?android:attr/selectableItemBackground"来自:stackoverflow.com/a/30933094/1306012
标签: android layout colors background selector