Android 无法动态设置样式的解决方法
我需要能够做这样的事情:Android 无法动态设置样式的解决方法,android,coding-style,themes,dynamic,Android,Coding Style,Themes,Dynamic,我需要能够做这样的事情: if(condition){ textview.setStyle(R.styles.a1); }else{ textview.setStyle(R.styles.a2); } 问题是,您不能在运行时更改样式,有像setTextApperience和类似的方法,但不能用于设置样式。 我的问题是如何根据主题为其他视图的文本视图设置不同的背景,例如,在themeA中,id=tv1的文本视图的颜色为蓝色,而对于themeB,id=tv1的文本视图的颜色为红色 我知道论坛上讨论
if(condition){
textview.setStyle(R.styles.a1);
}else{
textview.setStyle(R.styles.a2);
}
问题是,您不能在运行时更改样式,有像setTextApperience和类似的方法,但不能用于设置样式。
我的问题是如何根据主题为其他视图的文本视图设置不同的背景,例如,在themeA中,id=tv1的文本视图的颜色为蓝色,而对于themeB,id=tv1的文本视图的颜色为红色
我知道论坛上讨论过这些事情,但我找不到我需要的东西
编辑1:
我知道我可以在运行时设置主题
一些背景
但是我的问题是如何为某个特定元素的不同主题设置不同的backgorund,比如id=textview1的元素,您无法设置样式,因为没有定义这样的方法。 但您可以在xml文件中创建不同的主题,并在运行时进行更改 例如
setTheme(android.R.style.Theme_Dark);
所以,让主题有风格,并像这样使用
if(condition){
textview.setBackground(Color.Grey);
textview.setTextColor(Color.Black);
}else{
textview.setBackground(Color.Blue);
textview.setTextColor(Color.White);
}
编辑:
您可以这样设置背景和文本颜色
if(condition){
textview.setBackground(Color.Grey);
textview.setTextColor(Color.Black);
}else{
textview.setBackground(Color.Blue);
textview.setTextColor(Color.White);
}
或者检查此帖子答案您无法设置样式,因为没有定义此类方法。 但您可以在xml文件中创建不同的主题,并在运行时进行更改 例如
setTheme(android.R.style.Theme_Dark);
所以,让主题有风格,并像这样使用
if(condition){
textview.setBackground(Color.Grey);
textview.setTextColor(Color.Black);
}else{
textview.setBackground(Color.Blue);
textview.setTextColor(Color.White);
}
编辑:
您可以这样设置背景和文本颜色
if(condition){
textview.setBackground(Color.Grey);
textview.setTextColor(Color.Black);
}else{
textview.setBackground(Color.Blue);
textview.setTextColor(Color.White);
}
或者检查这个帖子的答案