小编典典

以编程方式设置 TextView 的样式

all

我正在尝试使用TextView具有如下样式的构造函数:

TextView myText = new TextView(MyActivity.this, null, R.style.my_style);

但是,当我这样做时,文本视图似乎没有采用该样式(我通过将其设置在静态对象上来验证该样式)。

我也尝试过使用myText.setTextAppearance(MyActivity.this, R.style.my_style),但它也不起作用。


阅读 66

收藏
2022-05-18

共1个答案

小编典典

我不相信您可以以编程方式设置样式。为了解决这个问题,您可以创建一个指定样式的模板布局 xml 文件,例如在 res/layout create
tvtemplate.xml 中,内容如下:

<?xml version="1.0" encoding="utf-8"?>
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="This is a template"
        style="@style/my_style" />

然后膨胀这个来实例化你的新TextView:

TextView myText = (TextView)getLayoutInflater().inflate(R.layout.tvtemplate, null);
2022-05-18