gpt4 book ai didi

android - 以编程方式单击时更改布局背景

转载 作者:行者123 更新时间:2023-12-04 19:52:28 26 4
gpt4 key购买 nike

我可以通过编写 xml 更改 LinearLayout 的背景

android:background="@drawable/overview"

到我的 LinearLayout。

但是我无法以编程方式执行此操作。我试过以下:

LinearLayout horizontal_menu = new LinearLayout(this); ... horizontal_menu.setBackgroundResource(getResources().getInteger(R.drawable.overview));

还有那个代码源:

horizontal_menu.setBackground(getResources().getDrawable(R.drawable.overview));

第一次尝试在运行时抛出 RuntimeException,第二行似乎什么也没做 -> 没有错误,没有异常,点击时没有改变背景......

--> 概述.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="@color/half_transparent"/>
<item android:state_pressed="true" android:drawable="@color/half_transparent" />
</selector>

我希望任何人都可以帮助我!

谢谢!

编辑:

LinearLayout content = (LinearLayout)findViewById(R.id.LinearLayout); 
LinearLayout horizontal_menu = new LinearLayout(this);
horizontal_menu.setOrientation(LinearLayout.HORIZONTAL);
horizontal_menu.setBackgroundResource(getResources().getInteger(R.drawable.overv‌​iew));
content.addView(horizontal_menu);

最佳答案

在布局 XML 文件中为布局设置一个 id:

<LinearLayout android:id="@+id/myLinearLayout" ...

然后在您的 Activity 中,使用 findViewById() 获取 LinearLayout,如下所示:

LinearLayout ll = (LinearLayout) findViewById(R.id.myLinearLayout);

然后使用 setBackground 方法为 ll 设置背景:

ll.setBackground(...) 
ll.setBackgroundDrawable(...)
ll.setBackgroundResource(...)

关于android - 以编程方式单击时更改布局背景,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15989312/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com