在MULTIPLE textViews中设置textColor

时间:2013-04-18 15:24:35

标签: android xml

我想更改很多textViews的textColor,并设置为红色。 现在,这是我的xml代码,第一个textView更改为红色:

 <LinearLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:minWidth="150dp"
        android:orientation="vertical" >

        <TextView
            android:id="@+id/data1_text"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Latitude" 
            android:textColor="#FF0000"/>

        <TextView
            android:id="@+id/data1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Latitude_val" />

        <TextView
            android:id="@+id/data2_text"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Longitude" />

        <TextView
            android:id="@+id/data2"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Longitude_val" />

        <TextView
            android:id="@+id/data3_text"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Altitude" />

        <TextView
            android:id="@+id/data3"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Altitude_val" />

        <TextView
            android:id="@+id/data4_text"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Vitesse GPS" />

        <TextView
            android:id="@+id/data4"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Vitesse GPS_val" />
    </LinearLayout>

正如您所看到的,textViews位于线性布局中,但遗憾的是,您不能在布局参数中使用android:textColor

这里我只显示了4个textViews,但是还有更多,我不想逐个给出参数(想象一下,如果我想在之后更改颜色......)

是否有某种标签用于表示一组textViews的样式?

2 个答案:

答案 0 :(得分:4)

这样的事情对你有用。



    private void setTextColor()
    {
    /*put id(s) of all the TextView you want to change the color of,
    In an array and call setTextColor() for all the array items*/
    int textViews[]={R.id.data1_text,R.id.data1,R.id.data2_text,R.id.data2,R.id.data3_text,R.id.data3};
    for(int i=0;i<textViews.length;i++)
    ((TextView)findViewById(textViews[i])).setTextColor(Color.RED);
    }

现在,从setTextColor()方法拨打onCreate() 您还可以创建类似的功能来设置文本大小和其他好东西。

答案 1 :(得分:0)

您可以编程方式为编辑文本添加颜色,如:

EditText et = (EditText) findViewById(R.id.edit1);
// to set text color using RGB code
et.setTextColor(Color.parseColor("#FF0000"));

您可以在XML中执行此操作:

android:textColor="#FF0000"

或者更好的是,如果您首先在 /res/values/mycolor.xml 中为颜色创建xml定义,例如:

<?xml version="1.0" encoding="utf-8"?>
<resources>
<color name="red">#ff0000</color>
<color name="green">#00ff00</color>
<color name="blue">#0000ff</color>
</resources>

并设置editText的颜色,如:

 android:textColor="@android:color/white"

并以编程方式表示:

 et.setTextColor(R.color.white);

希望它有所帮助;