我有一个线性布局,并在其上实现了onClickListener。 现在我希望在单击它时,它的背景颜色会变为白色并保持这种状态,直到点击其他内容为止。当点击其他内容时,我希望它具有透明背景 怎么做到这一点? 提前致谢
答案 0 :(得分:3)
在drawable文件夹中创建两个可绘制图像。单击它时,您可以更改布局的背景。 以下代码更改背景:
LinearLayout layout=(LinearLayout) findViewById(R.id.linearlayout);
layout.setBackgroundResource(getResources().getDrawable(R.drawable.drawable_name));
答案 1 :(得分:1)
我认为您也可以使用选择器作为背景。您可以利用“选定”或“聚焦”状态在透明和白色之间切换背景。它看起来像是:
<LinearLayout
...
android:background="@drawable/bg_list_selector"
...
</LinearLayout>
然后在您的drawable文件夹中bg_list_selector.xml
:
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_focused="true" android:drawable="@android:color/transparent" />
<!-- or -->
<item android:state_selected="true" android:drawable="@android:color/transparent" />
<item android:drawable="@android:color/white" />
</selector>
请玩StateListDrawable的不同选项,我会说。