设置textView的边框和背景颜色

Posted

技术标签:

【中文标题】设置textView的边框和背景颜色【英文标题】:Set border and background color of textView 【发布时间】:2013-03-01 12:12:54 【问题描述】:

我在 XML 中定义了一个 TextView,我想为其设置背景颜色和边框。 我遇到的问题是,在 XML 中我已经使用 android:background 设置边框资源,所以我不能再次使用它作为背景颜色。 有人可以指导我正确的方向吗?

边框.xml

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle" >
   <solid android:color="#ffffff" />
   <stroke android: android:color="#7F000000"/>
</shape>

文本视图

<TextView
        android:id="@+id/editor_title"
        android:layout_
        android:layout_
        android:layout_alignParentTop="true"
        android:background="@drawable/title_border"         
        android:padding="5dp"
        android:text="@string/editor_title"               
        android:textAppearance="?android:attr/textAppearanceMedium" />

【问题讨论】:

【参考方案1】:

您应该为此创建一个 XML 可绘制对象,然后可以将其设置为您的单一背景。这就是您想要的(具有不同颜色边框的矩形 - 如果您不想要,请将渐变替换为)。

这将进入您的“drawable”文件夹:

<?xml version="1.0" encoding="utf-8"?>
<shape
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="rectangle">
    <stroke android: android:color="@color/blue_button_border" />
    <gradient
      android:startColor="@color/gradient_end"
      android:endColor="@color/gradient_start"
      android:angle="-90" /> 
</shape>

【讨论】:

【参考方案2】:

通过 Java:

TextView c1 = new TextView(activity);
c1.setTextColor(getResources().getColor(R.color.solid_red));
c1.setText("My Text");    

TextView test = (TextView) view.findViewById(R.id.textView2);
test.setBackgroundResource(R.color.holo_green_light);

通过 XML:

 <TextView
        android:text="2"
        android:textSize="200sp"
        android:layout_
        android:layout_
        android:id="@+id/textView2"
        android:style="@style/textviewStyle" 
        android:background="@android:color/holo_green_light"
        android:gravity="center"
        android:textColor="#EEEEEE"
        android:layout_alignParentRight="true" />

这是有关此主题的 API 页面:http://developer.android.com/guide/topics/resources/accessing-resources.html#ResourcesFromXml

【讨论】:

以上是关于设置textView的边框和背景颜色的主要内容,如果未能解决你的问题,请参考以下文章

CSS中div背景与边框 颜色设置无效

CSS中div背景与边框 颜色设置无效

当我设置自定义边框或背景颜色时,为什么Firefox在选择箭头按钮上设置背景颜色?

当背景颜色与边框背景颜色不同时,为 WPF TextBlock 设置左上角和右上角圆角不起作用

边框半径后面的HTML背景颜色

如何使用 javascript 或 jquery 为每个数组元素设置背景颜色和边框?