gpt4 book ai didi

android - 改变风格(使用变量)

转载 作者:太空宇宙 更新时间:2023-11-03 13:30:29 26 4
gpt4 key购买 nike

我有这段代码,我需要将 MyCustonTheme1 更改为 2 或 3 或 4(从 sharedpreferences 的值,用户选择一个值 (1,2,3,4)

AlertDialog.Builder builder = new AlertDialog.Builder(this, R.style.MyCustomTheme1);

在 MainActivity 中我有:

if (fade == 500){
animazione = "R.style.MyCustomTheme1";
}
if (fade == 1000){
animazione = "R.style.MyCustomTheme2";
}
[...]

现在,我需要把“animazione”像这样的代码:

AlertDialog.Builder builder = new AlertDialog.Builder(this, animazione);

构造函数 AlertDialog.Builder(MainActivity, String) 未定义

是否可以将 R.style.MyCustomTheme1 更改为“animazione”之类的变量?

谢谢!

最佳答案

Note: use of this function is discouraged. It is much more efficient to retrieve resources by identifier than by name.

如果您需要按名称 查找 Android 资源(例如,String -> int 转换),请使用 getIdentifier(String, String, String) .

第一个参数是资源名称​​作为字符串。第二个参数是资源类型作为字符串(例如,"id"R.id 中查找,或 "drawable "R.drawable 中查找)。第三个参数是包名。

因此,理论上,您应该能够像这样查找样式资源:

int style = getResources().getIdentifier("MyCustomTheme1", "style", getPackageName());

关于android - 改变风格(使用变量),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14085848/

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