我们如何以编程方式添加样式?

时间:2012-07-16 15:28:14

标签: android android-layout android-styles

我为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>

1 个答案:

答案 0 :(得分:3)

这应该适合你:

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

但请注意,某些属性可能不会受到影响,可能必须手动设置as specified in the Android developer docs

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