2012-07-16 72 views
1

我已經爲TextView寫了一個樣式,並且我爲TextView設置了一個樣式,因爲style="@style/popup_window_text_style"工作正常,沒有問題。我們如何以編程方式添加樣式?

現在我想的是一樣的風格,爲我的TextView

TextView textView = new TextView(mContext); 

做編程有沒有辦法在Java中做到這一點編程?

我在styles.xml

<style name="popup_window_text_style"> 
     <item name="android:layout_width">wrap_content</item> 
     <item name="android:layout_height">wrap_content</item> 
     <item name="android:minWidth">60dp</item> 
     <item name="android:padding">10dp</item> 
     <item name="android:layout_marginLeft">1dp</item> 
     <item name="android:layout_marginRight">1dp</item> 
     <item name="android:background">@drawable/ctxmenu_btn_selector</item> 
     <item name="android:textColor">@android:color/black</item> 
     <item name="android:textStyle">bold</item> 
     <item name="android:textSize">16sp</item> 
     <item name="android:gravity">center_vertical</item> 
     <item name="android:singleLine">true</item> 
    </style> 
+0

[如何以編程方式在視圖中設置樣式屬性](http://stackoverflow.com/a/2016344/593709) – 2012-07-16 15:36:20

+0

@AdilSoomro因此,通常我們無法以編程方式設置樣式。 – 2012-07-16 15:38:39

回答

3

這種風格應該爲你工作:

textView.setTextAppearance(getApplicationContext(), R.style.popup_window_text_style); 

但請注意,某些屬性可能不會受到影響,並可能必須手動設置as specified in the Android developer docs

不幸的是,當前的SDK似乎缺少任何形式的setStyle()方法。

+0

我會嘗試這個並更新你。 – 2012-07-16 16:37:08