我有一些自定义的视图,如:
public class CustomizedTextView extends TextView {
...
public CustomizedTextView(Context context) {
this.setText(TEXT_COLOR);
this.setTextSize(TEXT_SIZE);
this.setTypeFace(TYPE_FACE);
this.setPadding(LEFT, TOP, RIGHT, BOTTOM);
...
}
}
如您所见,这些样式设置和相应的常量需要多行代码。所以我想在资源文件中将它分开。
我已经浏览了Android documentation,它说你可以定义一个样式文件,如:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="CodeFont" parent="@android:style/TextAppearance.Medium">
<item name="android:layout_width">fill_parent</item>
<item name="android:layout_height">wrap_content</item>
<item name="android:textColor">#00FF00</item>
<item name="android:typeface">monospace</item>
</style>
</resources>
但我没有找到像setStyle(R.style.style001)这样的API来设置代码中的样式。我还在这里找到了一个帖子:android set style in code
基本上它说你不能在代码中做到这一点。不过这篇文章是三年前我不确定API 19的情况。因为在Android中定义自定义视图是如此常见,我不明白为什么这是不可能的。
答案 0 :(得分:0)
您可以使用setTextAppearance
这样设置文本视图样式
textView.setTextAppearance(context, R.style.CodeFont);