我有一个线性布局,上面实现了一个onClickListener。现在,我希望当它被点击时,它的背景色变为白色,并保持这种状态,直到其他东西被点击。当点击其他东西时,我希望它有透明的背景如何做到这一点?提前感谢
在可绘制的文件夹中创建两个可绘制的图像。单击后,您可以更改布局的背景。以下代码更改背景:
LinearLayout layout=(LinearLayout) findViewById(R.id.linearlayout);
layout.setBackgroundResource(getResources().getDrawable(R.drawable.drawable_name));
我认为您也可以使用选择器作为背景。您可能可以利用"选定"或"聚焦"状态在透明和白色之间切换背景。它看起来像:
<LinearLayout
...
android:background="@drawable/bg_list_selector"
...
</LinearLayout>
然后是可提取文件夹中的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的不同选项。