2011-04-14 69 views
2

可能重複:
android : set textView style at runtime安卓:TextView的設置方式在運行時

我只是想知道我可以在運行時我看到一些帖子在這裏實現的風格,但我不能正確找到任何東西

我創建了一個新的Textview,像這樣

TextView title = TextView(this, null, R.style.TitleSep); 

這是我的風格xml。

<style name="TitleSep"> 
     <item name="android:layout_height">fill_parent</item> 
     <item name="android:layout_width">wrap_content</item> 
     <item name="android:lineSpacingMultiplier">1.1</item> 
     <item name="android:textSize">16sp</item> 
     <item name="android:textStyle">normal</item> 
     <item name="android:textColor">#ffff0000</item> 
     <item name="android:padding">2dip</item> 
    </style> 

沒有什麼變化,我看到了API,應該改變風格,而不是我的默認風格。

有任何建議。

乾杯 羅恩

+1

它不是同樣的問題,在他們設置一些屬性的問題,當我創建對象我傳遞的風格,但不工作!乾杯 – ron 2011-04-14 06:31:17

+0

我想你傳遞屬性設置爲null.this是一個問題 – Pinki 2011-04-14 06:39:40

+0

Pinki你是什麼意思與設置爲null這可能是一個問題? – ron 2011-04-14 06:41:38

回答

0

如果你可以使用佈局文件,請執行下列操作 - 它更簡單。

<TextView 
    style="@style/TitleSep" 
    android:text="hello" /> 

UPDATE:(從評論)

爲什麼不建立在編譯時的TextView,但使其不可見,並將其設置爲可見如果當你需要展示。我建議這種迂迴方法的原因是因爲在編譯時設置樣式似乎更簡單。

+0

Ron在運行時只問它 – Pinki 2011-04-14 06:37:38

+0

我不能那樣做,因爲我從服務中獲得數據,並且此數據告訴我是否必須創建textview。乾杯m8 – ron 2011-04-14 06:38:23

+0

爲什麼不在編譯時創建文本視圖,而是使其不可見,並在需要顯示時將其設置爲可見。我建議這種迂迴方法的原因是因爲在編譯時設置樣式似乎更簡單。 – rajath 2011-04-14 06:40:39

8

您可以在分離的佈局文件中定義TextView(如建議的Rajath DSouza)。然後動態地從佈局文件加載視圖(充氣)。 例如:

TextView title = (TextView) activity.getViewInflate().inflate(R.layout.styled_textview, null, null); 
+0

謝謝,我會檢查它,此刻我試圖使我的所有文本視圖不可見,如果數據來了我設置爲可見,謝謝 – ron 2011-04-14 07:14:13