7

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

当我从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

4 回答 4

0

作为一种解决方法,这有效

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

这个问题仍然没有完全回答,因为将背景设置为TextView两次不是我们想要的。我们已经设置了背景styles.xml

于 2012-02-09T10:53:34.210 回答
0

public void setTextAppearance(上下文上下文,int resid)

设置来自指定TextAppearance资源的文本颜色大小样式提示颜色突出显示颜色。

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

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

我希望你明白这一点。

编辑

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

于 2012-02-06T11:28:13.890 回答
-1

如果您的 res 中没有颜色文件夹,则需要将 @color/white 替换为 #ffffff

于 2012-02-06T10:34:31.733 回答
-1

我现在不知道它是否有帮助

试试这个@color/#fff

而不是“白色”

祝你好运

于 2012-02-06T10:32:01.877 回答