【发布时间】:2012-02-02 16:43:04
【问题描述】:
我想将背景android.R.attr.selectableItemBackground 设置为LinearLayout。使用 XML 时没有问题(有效)
<LinearLayout
android:id="@+id/llMiner"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="?android:attr/selectableItemBackground"
android:clickable="true" >
...但是我必须在java代码中这样做,所以我尝试过这个
llMiner.setClickable(true);
llMiner.setBackgroundResource(android.R.attr.selectableItemBackground);
...它不起作用,事实上我在第二行得到了NotFoundException。
因此,在我尝试了这个变体之后,认为资源是一种颜色。
llMiner.setClickable(true);
llMiner.setBackgroundColor(android.R.attr.selectableItemBackground);
这个不会启动异常,但是...不起作用(按下时背景没有变化,但按下时状态会发生变化)...有什么建议吗?
【问题讨论】:
-
您是否正在更改活动的 onClick 方法中的颜色..???
-
那么我认为你必须重写 onClick 方法才能完成你的功能。
-
我正在尝试做同样的事情,但到目前为止没有成功。如果您找到了解决方案,请告诉我,或者如果有人知道这是否真的可以做到,请提供反馈。谢谢!
-
对于任何寻找支持库对应的人,它是
android.support.design.R.attr.selectableItemBackground。 -
我之前的评论现在似乎不起作用(或者可能从来没有起作用)。现在有效的是
R.attr.selectableItemBackground。
标签: android background android-linearlayout clickable