2012-11-14 46 views
0

我喜歡從外部styles.xml文件中創建我的android視圖樣式。我想知道可以採用什麼方法將外部化樣式應用於以編程方式創建而不是以XML佈局文件創建的視圖,例如,要在ViewPager上插入的視圖。將樣式從xml設置爲ViewPager中的元素

對此的另一個用例是從沒有相應XML佈局的XML文件自定義組件中進行樣式設計。

任何幫助,將不勝感激:)

回答

1

理想情況下你可以使用視圖的接受INT defStyle屬性構造。雖然我沒有使用這個構造函數,但是可能會有一個issue,其樣式不適用。聽起來標準視圖可能無法以預期的方式處理樣式。不幸的是,這聽起來像你最好的選擇可能是視圖的子類,並覆蓋構造函數以確保你的樣式被正確應用。我還會看看source code的視圖,以瞭解View.java的構造函數是如何處理樣式的。希望這可以幫助。

+0

OK,所以你建議我應該做的自定義組件,覆蓋其3參數的構造函數,包括所有的View構造函數,但改變這一行: TypedArray A = context.obtainStyledAttributes(ATTRS,com.android.internal。 R.styleable.View, defStyle,0); 對此: TypedArray a = context.obtainStyledAttributes(attrs,com.android.internal.R.styleable.View, defStyle,defStyle); 對不對? – alfongj

+0

我沒有測試過,但是,是的,我認爲你是正確的。祝你好運:) –

+0

好吧,一旦我嘗試,如果它的工作,我會接受你的答案。 – alfongj

相關問題