3

我有一个线性布局,并且上面实现了一个 onClickListener。现在我希望当它被点击时,它的背景颜色变为白色并保持这种状态,直到点击其他东西。单击其他内容时,我希望它具有透明背景如何实现?提前致谢

4

2 回答 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 回答