android TextView的字体颜色设置的多种方法(续)

下面看看第二种方式:在Activity类中进行设置

 

1、先将main.xml改成如下,即去掉android:textColor="@color/red":

Xml代码 复制代码
  1. <?xml version="1.0" encoding="utf-8"?>  
  2. <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"  
  3.     android:orientation="vertical"  
  4.     android:layout_width="fill_parent"  
  5.     android:layout_height="fill_parent"  
  6.     android:background="@drawable/white"  
  7.     >  
  8. <TextView     
  9.     android:id="@+id/tv01"  
  10.     android:layout_width="fill_parent"    
  11.     android:layout_height="wrap_content"    
  12.     android:text="@string/hello"  
  13.     android:autoLink="all"  
  14.     />  
  15. </LinearLayout>  
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:background="@drawable/white"
    >
<TextView  
	android:id="@+id/tv01"
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:text="@string/hello"
    android:autoLink="all"
    />
</LinearLayout>

 2、修改Activity的onCreate方法,这里我的Activity是Study03_01,原始代码如下:

 

 

 

Java代码 复制代码
  1. package yahaitt.study03_01;   
  2.   
  3. import android.app.Activity;   
  4. import android.os.Bundle;   
  5.   
  6. public class Study03_01 extends Activity {   
  7.     @Override  
  8.     public void onCreate(Bundle savedInstanceState) {   
  9.         super.onCreate(savedInstanceState);   
  10.         setContentView(R.layout.main);   
  11.     }   
  12. }  
package yahaitt.study03_01;

import android.app.Activity;
import android.os.Bundle;

public class Study03_01 extends Activity {
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
    }
}

 

第一步:获得文本控件TextView,取名为tv

 

第二步:通过TextView的setTextColor方法进行文本颜色的设置,这里可以有3种方式进行设置:

 

第1种:tv.setTextColor(android.graphics.Color.RED);//系统自带的颜色类

 

第2种:tv.setTextColor(0xffff00ff);//0xffff00ff是int类型的数据,分组一下0x|ff|ff00ff,0x是代表颜色整数的标记,ff是表示透明度,ff00ff表示颜色,注意:这里ffff00ff必须是8个的颜色表示,不接受ff00ff这种6个的颜色表示。

 

第3种:tv.setTextColor(this.getResources().getColor(R.color.red));//通过获得资源文件进行设置。根据不同的情况R.color.red也可以是R.string.red或者R.drawable.red,当然前提是需要在相应的配置文件里做相应的配置,如:

<color name="red">#FF0000</color>

<drawable name="red">#FF0000</drawable>

<string name="red">#FF0000</string>

 

 

详细的代码如下:

Java代码 复制代码
  1. package yahaitt.study03_01;   
  2.   
  3. import android.app.Activity;   
  4. import android.content.res.Resources;   
  5. import android.graphics.Color;   
  6. import android.os.Bundle;   
  7. import android.widget.TextView;   
  8.   
  9. public class Study03_01 extends Activity {   
  10.     /** Called when the activity is first created. */  
  11.     private TextView tv;   
  12.     @Override  
  13.     public void onCreate(Bundle savedInstanceState) {   
  14.         super.onCreate(savedInstanceState);   
  15.         setContentView(R.layout.main);   
  16.            
  17.         tv = (TextView)this.findViewById(R.id.tv01);   
  18.            
  19. //        tv.setTextColor(Color.RED);   
  20.            
  21. //        tv.setTextColor(0xff000000);   
  22.        /*   
  23.         Resources rs = this.getResources();  
  24.         tv.setTextColor(rs.getColor(R.drawable.red));  
  25.         */  
  26.   
  27.     }   
  28. }  
package yahaitt.study03_01;

import android.app.Activity;
import android.content.res.Resources;
import android.graphics.Color;
import android.os.Bundle;
import android.widget.TextView;

public class Study03_01 extends Activity {
    /** Called when the activity is first created. */
	private TextView tv;
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        
        tv = (TextView)this.findViewById(R.id.tv01);
        
//        tv.setTextColor(Color.RED);
        
//        tv.setTextColor(0xff000000);
       /* 
        Resources rs = this.getResources();
        tv.setTextColor(rs.getColor(R.drawable.red));
        */

    }
}

 

注:请切换相应的注释

 

 

通过在Activity类中设置文本颜色,我们可以实现文本颜色的动态化。如果想保持文本颜色静态不变的话,可以直接通过上一篇中讲的通过直接配置即可。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值