gpt4 book ai didi

Android:使背景图像可变

转载 作者:行者123 更新时间:2023-11-29 00:38:49 26 4
gpt4 key购买 nike

我有一个带有背景图片的安卓应用。我的目标是创建 3 或 4 个背景图像,并为用户提供更改背景的可能性。

实际上,我有 4 张图片,分别命名为 bg1.png、bg2.png、bg3.png 和 bg4.png。我考虑过在 Strings.xml 中用图像名称声明一个字符串值“background”。背景图像的名称将始终取自背景字符串,当用户更改背景时,这只会更改字符串背景的值。

这个想法好还是有更简单的方法?如何使用“背景”字符串的值在 xml 布局文件中设置我的布局背景?我应该以编程方式执行此操作吗?

谢谢。

最佳答案

我认为如果您想将背景更改为 Activity 布局,您可以使用布局的 setBackground 方法来实现,例如:

activityLayout = (LinearLayout)findViewById(R.id.tableLayout1);
activityLayout.setBackgroundDrawable(getResources().getDrawable(R.id.somedrawable))

您可以使用例如 SharedPreference 存储背景图像,然后在启动 Activity 时读取包含背景的首选项。例如当用户选择背景时:

SharedPreferences myPrefs = this.getSharedPreferences("myPrefs", Context.MODE_PRIVATE);
SharedPreferences.Editor prefsEditor = myPrefs.edit();
prefEditor.putInt("backgroudResourceId", userchoice);
prefEditor.commit();

当一个 Activity 开始时,你必须从 SharedPreference 中读取 resourceId:

SharedPreferences myPrefs = this.getSharedPreferences("myPrefs", Context.MODE_PRIVATE);
drawableid = myPrefs.getInt("backgroundResourceId", defaultvalue);
yourlayout.setBackground(drawableid);

如果未设置首选项,则 defaultvalue 是默认值。 yourLayout 应该被初始化(以与 Activity 布局相同的方式)。

关于Android:使背景图像可变,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10896734/

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