android TextView的字体颜色设置的多种方法(续)
下面看看第二种方式:在Activity类中进行设置
1、先将main.xml改成如下,即去掉android:textColor="@color/red":
Xml代码
- <?xmlversion="1.0"encoding="utf-8"?>
- <LinearLayoutxmlns: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>
<?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代码- packageyahaitt.study03_01;
- importandroid.app.Activity;
- importandroid.os.Bundle;
- publicclassStudy03_01extendsActivity{
- @Override
- publicvoidonCreate(BundlesavedInstanceState){
- super.onCreate(savedInstanceState);
- setContentView(R.layout.main);
- }
- }
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代码- packageyahaitt.study03_01;
- importandroid.app.Activity;
- importandroid.content.res.Resources;
- importandroid.graphics.Color;
- importandroid.os.Bundle;
- importandroid.widget.TextView;
- publicclassStudy03_01extendsActivity{
- /**Calledwhentheactivityisfirstcreated.*/
- privateTextViewtv;
- @Override
- publicvoidonCreate(BundlesavedInstanceState){
- super.onCreate(savedInstanceState);
- setContentView(R.layout.main);
- tv=(TextView)this.findViewById(R.id.tv01);
- //tv.setTextColor(Color.RED);
- //tv.setTextColor(0xff000000);
- /*
- Resourcesrs=this.getResources();
- tv.setTextColor(rs.getColor(R.drawable.red));
- */
- }
- }
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类中设置文本颜色,我们可以实现文本颜色的动态化。如果想保持文本颜色静态不变的话,可以直接通过上一篇中讲的通过直接配置即可。
更多相关文章
- android EditText设置不可写
- android“设置”里的版本号
- 在Fragment中设置控件点击方法,执行失败。
- Android(安卓)闹钟管理类的使用
- Android设置通知栏/状态栏透明改变通知栏颜色和app最上部分颜色
- android 设置中划线 下划线等
- Andorid Dialog 示例【慢慢更新】
- android图表ichartjs
- Android(安卓)闹钟管理类的使用