Android在styles.xml中将背景颜色设置为TextView

时间:2012-02-06 10:23:26

标签: android textview android-resources

在我的应用程序中,我想将样式设置为TextView,这样会使TextView看起来像标题,如下图所示 -

"General" is the heading in this image.

当我应用styles.xml(下面给出)中的样式时,它会应用指定的字体和字体颜色。但是,它不适用于白色背景。我们可以做到这一点吗?

定义的样式是这样的 -

<?xml version="1.0" encoding="utf-8"?>

    

<style name="settings_header">
    <item name="android:layout_marginBottom"> 10dip </item>
    <item name="android:background"> @color/white </item>
    <item name="android:paddingLeft"> 10dip </item>
    <item name="android:layout_width"> match_parent </item>
    <item name="android:layout_height"> wrap_content </item>
    <item name="android:textSize"> 22sp </item>
    <item name="android:textColor"> @color/black </item>
    <item name="android:textStyle"> bold </item>
</style>

应用样式的代码就像

protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
textview = (TextView) findViewById(R.id.textView);
textview.setTextAppearance(ScrSettings.this,R.style.settings_header);
}

4 个答案:

答案 0 :(得分:1)

最后,我找到了一种方法。

textview.setTextAppearance(context, R.style.settings_header);
textview.setBackgroundResource(R.color.white);

问题仍未得到充分回答,因为将背景设置为TextView两次并不是我们想要的。我们已经在styles.xml

中设置了背景

答案 1 :(得分:0)

我现在不用它的帮助

试试这个  @颜色/#FFF

而不是“白色”

祝你好运

答案 2 :(得分:0)

如果你的res中没有颜色文件夹,那么你需要用#ffffff替换@ color / white

答案 3 :(得分:0)

public void setTextAppearance(Context context,int resid)

设置文字颜色尺寸样式提示颜色突出显示颜色< / strong>来自指定的 TextAppearance 资源。

这是 setTextAppearance 的实际输出。 为什么在没有阅读 setTextAppearance 方法的行为的情况下考虑背景颜色?

如果您希望在 styles.xml 中设置的所有属性仅在XML文件中使用style="@style/settings_header"

我希望你明白这一点。

修改

要在运行时设置背景颜色,请使用 setBackgroundColor 方法。