Android TextView字体颜色设置方法小结

作者:fengyee_zju 时间:2023-02-22 14:44:52 

本文实例总结了Android TextView字体颜色设置方法。分享给大家供大家参考,具体如下:

对于setTextView(int a)这里的a是传进去颜色的值。例如,红色0xff0000是指0xff0000如何直接传入R.color.red是没有办法设置颜色的,只有通过文章中的第三种方法先拿到资源的颜色值再传进去。


tv.setTextColor(this.getResources().getColor(R.color.red));

关键字: android textview color

TextView的字体设置方法:

1、直接通过配置文件设置
2、在Activity类中进行设置

第一种方式很简单,用于静态或初始文字颜色的设置,方法如下:

main.xml


<?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"
 android:textColor="@color/red"
 />
</LinearLayout>

color.xml


<?xml version="1.0" encoding="utf-8"?>
<resources>
 <drawable name="white">#FFFFFF</drawable>
 <drawable name="dark">#000000</drawable>
 <drawable name="red">#FF0000</drawable>
</resources>
strings.xml
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="hello">地址:http://yahaitt.javaeye.com</string>
 <string name="app_name">丫梨的笔记本</string>
</resources>

上面将资源部分分成了3个部分,目的是为了清晰,当然你也可以只建一个xml文件放在res目录下,而且文件名称可以随便命名。

注意两个地方:

1、main.xml的TextView标签中:android:textColor="@color/red"

2、color.xml中:<color name="red">#FF0000</color>

@color指获取资源文件中(所有res目录下的xml文件)的<color>标签

/red指在标签下找其name值为red的内容,此时其值为#FF0000

因此,这里我们还可以这样做:android:textColor="@drawable/red"

@drawable指获取资源文件中<drawable>标签

/red指在标签下找其name值为red的内容

以此类推,相信你也就知道了如果是在strings.xml中该怎么做了。

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

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


<?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,原始代码如下:


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>

详细的代码如下:


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 {
 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);
 }
}

希望本文所述对大家Android程序设计有所帮助。

标签:Android,TextView
0
投稿

猜你喜欢

  • JavaMail入门教程之解析邮件(5)

    2023-11-29 08:25:13
  • C#实现装饰器模式

    2023-06-18 04:48:16
  • Flutter 实现整个App变为灰色的方法示例

    2023-02-21 13:20:39
  • java面向对象设计原则之合成复用原则示例详解

    2023-11-09 16:55:51
  • Android Spinner 组件的应用实例

    2022-07-12 04:50:13
  • java后台接收app上传的图片的示例代码

    2022-11-03 00:04:15
  • C++编写实现图书管理系统

    2022-03-05 09:51:00
  • C#实现随鼠标移动窗体实例

    2022-05-16 11:09:31
  • Gradle修改本地仓库的位置方法实现

    2022-01-17 21:25:52
  • java原码补码反码关系解析

    2021-12-26 20:30:29
  • Android应用开发之将SQLite和APK一起打包的方法

    2023-07-03 04:16:07
  • spring中使用@Autowired注解无法注入的情况及解决

    2023-06-10 21:48:24
  • 深入理解Spring Boot属性配置文件

    2021-11-18 00:23:34
  • SpringBoot 开发提速神器 Lombok+MybatisPlus+SwaggerUI

    2022-07-08 07:40:23
  • TCP/IP协议中三次握手四次挥手的原理及流程分析

    2022-02-04 18:27:03
  • Java定时任务的三种实现方法

    2022-01-13 06:59:01
  • C# InitializeComponent()方法案例详解

    2022-06-12 03:07:06
  • Flutter学习之实现自定义themes详解

    2022-04-17 17:20:49
  • RocketMQ producer容错机制源码解析

    2022-05-14 13:39:41
  • Android端代码量非常小的分页加载库

    2022-08-25 17:24:48
  • asp之家 软件编程 m.aspxhome.com