我有一个线性布局,并且上面实现了一个 onClickListener。现在我希望当它被点击时,它的背景颜色变为白色并保持这种状态,直到点击其他东西。单击其他内容时,我希望它具有透明背景如何实现?提前致谢
问问题
6727 次
2 回答
3
在您的可绘制文件夹中创建两个可绘制图像。当它被点击时,你可以改变布局的背景。以下代码更改了背景:
LinearLayout layout=(LinearLayout) findViewById(R.id.linearlayout);
layout.setBackgroundResource(getResources().getDrawable(R.drawable.drawable_name));
于 2012-02-20T06:59:14.690 回答
1
我认为您也可以只使用选择器作为背景。您可能可以利用“选定”或“聚焦”状态在透明和白色之间切换背景。它看起来像:
<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 的不同选项。
于 2012-02-20T09:27:44.363 回答