我的 Activity 中有以下代码:
......
DataCell[i] = new TextView(context,null,R.style.TitleRow);
DataCell[i].setText(data[i]);
......
这是我的 style.xml 文件,它位于 res >> values 文件夹中:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="TitleRow" parent="@android:style/TextAppearance.Medium">
<item name="android:layout_width">wrap_content</item>
<item name="android:layout_height">wrap_content</item>
<item name="android:textColor">#A0A0A0</item>
<item name="android:layout_marginTop">5dp</item>
<item name="android:layout_marginBottom">5dp</item>
<item name="android:paddingLeft">2dp</item>
<item name="android:paddingRight">2dp</item>
</style>
</resources>
没有显示任何值..
但是如果我使用 DataCell[i] = new TextView(context)
,它工作正常。我知道我将 null 用于属性集这一事实存在一些问题。但是经过很长时间的搜索,我无法找到一个完美的例子来说明如何去做。我希望有人能一劳永逸地向我澄清这一点。
最佳答案
尝试膨胀你的 TextView。像这样:
layout/cell_row.xml
<TextView
xmlns:android="http://schemas.android.com/apk/res/android"
style="@style/TitleRow">
你的 Activity .java
......
LayoutInflater inflater = getLayoutInflater(); // called from activity
......
DataCell[i] = inflater.inflate(R.layout.cell_row, null);
// or inflater.inflate(R.layout.cell_row, root, false); where root is a parent view for created TexView
DataCell[i].setText(data[i]);
......
关于android - 在代码中为 textview 设置样式,android,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7799472/