如何为线性布局设置两个不同的背景

发布于 2025-01-07 18:05:58 字数 118 浏览 0 评论 0原文

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

I have a linear layout and there is an onClickListener implemented on it.
Now I want that when it is clicked its background color to white is changed and remains that way until something else is clicked. When something else is clicked I want it to have transparent background
How to achieve this?
Thanks in advance

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

兲鉂ぱ嘚淚 2025-01-14 18:05:58

在可绘制文件夹中创建两个可绘制图像。单击它时,您可以更改布局的背景。
以下代码更改背景:

 LinearLayout layout=(LinearLayout) findViewById(R.id.linearlayout);
    layout.setBackgroundResource(getResources().getDrawable(R.drawable.drawable_name));

Create two drawable images in your drawable folder. And when it is clicked, you can change the background of the layout.
Following code changes the background:

 LinearLayout layout=(LinearLayout) findViewById(R.id.linearlayout);
    layout.setBackgroundResource(getResources().getDrawable(R.drawable.drawable_name));
飘逸的'云 2025-01-14 18:05:58

我认为你也可以使用选择器作为背景。您可以利用“选定”或“聚焦”状态在透明和白色之间切换背景。它看起来像这样:

<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 的不同选项。

I think you could also just use a selector as background. You can probably take advantage of the 'selected' or 'focused' states to toggle the background between transparent and white. It'll look something like:

<LinearLayout
...
    android:background="@drawable/bg_list_selector"
...
</LinearLayout>

And then bg_list_selector.xml in your drawable folder:

<?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>

Have a play with the StateListDrawable's different options, I'd say.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文