1

我已经为 TextView 编写了一种样式,并将该样式设置为我TextViewstyle="@style/popup_window_text_style"工作正常,没有问题。

现在我希望以编程方式为我的文本视图执行相同的样式

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>
4

1 回答 1

3

这应该适合你:

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

但请注意,某些属性可能不会受到影响,可能必须按照 Android 开发人员文档中的说明手动设置。

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

于 2012-07-16T15:41:31.463 回答