2012-07-16 68 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