3

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

 <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 的样式?

4

2 回答 2

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()方法调用。
您还可以创建类似的功能来设置文本大小和其他好东西。

于 2015-02-02T12:02:06.843 回答
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);

希望能帮助到你;

于 2013-04-18T15:42:00.763 回答