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

Raj*_*ran 6 android textview android-resources

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

“General”是这张图片中的标题。

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

定义的风格是这样的——

<?xml version="1.0" encoding="utf-8"?>
Run Code Online (Sandbox Code Playgroud)

<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>
Run Code Online (Sandbox Code Playgroud)

应用样式的代码就像

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);
}
Run Code Online (Sandbox Code Playgroud)

Raj*_*ran 0

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

textview.setTextAppearance(context, R.style.settings_header);
textview.setBackgroundResource(R.color.white);
Run Code Online (Sandbox Code Playgroud)

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