我需要能够做到这样的事情:
if(condition){
textview.setStyle(R.styles.a1);
}else{
textview.setStyle(R.styles.a2);
}
问题是你无法在运行时更改样式,有类似setTextApperience和类似的方法但不能用于设置样式。 我的问题是如何根据主题为其他视图的textview设置不同的背景,例如在themeA中,id = tv1的textview的颜色是蓝色,而对于themeB,id = tv1的textview的颜色是红色。 ..
我知道这个问题在论坛上讨论过,但我找不到我需要的东西
EDIT1: 我知道我可以在运行时设置主题 somebackground ...
但我的问题是如何为某些特定元素设置不同主题的不同backgorund,让我们说id = textview1的元素
答案 0 :(得分:0)
你不能设置样式,因为他们没有定义这样的方法。 但您可以在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);
}