2011-10-06 42 views
2

我需要能夠做這樣的事情:的解決方法未能設置樣式動態

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,比如說elemen t with id = textview1

回答

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); 
} 

或檢查這個帖子答案How to change a TextView's style at runtime

+0

請參閱我的編輯 – Lukap

+0

請檢查您的pdated答案 – Pratik