今天,简单讲讲如何设置TextView的字体颜色。

其实很简单,不过之前忘记了,所以还是记录,总结一下。

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://www.jb51.net/</string> <string name="app_name">脚本之家</string>
</resources>

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

这个很简单,接下来讲讲如何在代码里设置TextView的字体颜色

第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>

接下来可以看看android 的setTextColor的源码:

android中设置TextView的颜色有方法setTextColor,这个方法被重载了,可以传入两种参数

public void setTextColor(int color) { mTextColor = ColorStateList.valueOf(color);  updateTextColors();
}  public void setTextColor(ColorStateList colors) {  if (colors == null) {  throw new NullPointerException();  }  mTextColor = colors;  updateTextColors();
}  

第一个public void setTextColor(int color)要注意传入的必须是#FF0000这样类型的参数,这种方法也就是传入int color值,这个int不是R文件中自动分配的int值,所以要注意.

不要这样传入参数tv.setTextColor(R.color.red); 这样的做法就这错误的,我就犯过这样的错误,正确的做法是tv.setTextColor(this.getResources().getColor(R.color.red));

也可以直接使用Color类中的静态方法构造出来的颜色int值。

TextView tv = new TextView(this);
tv.setText("Test set TextView's color.");
//方案一:代码中通过argb值的方式
tv.setTextColor(Color.rgb(255, 255, 255));  

第二种代码是获取String.xml文件的color值

Resources resource = (Resources) getBaseContext().getResources();
ColorStateList csl = (ColorStateList) resource.getColorStateList(R.color.my_color);
if (csl != null) {  tv.setTextColor(csl);
}  

这种方法是通过ColorStateList得到xml中的配置的颜色的。好多需要xml中配置的都要类似这样的映射xml文件。

还有种方法Java代码:

XmlResourceParser xrp = getResources().getXml(R.color.my_color);
try {  ColorStateList csl = ColorStateList.createFromXml(getResources(), xrp);  tv.setTextColor(csl);
} catch (Exception e) {
}  

String.xml文件为:

<?xml version="1.0" encoding="utf-8"?>
<resources>  <string name="hello">Hello World, ListViewDemoActivity!</string>  <string name="app_name">ListViewDemo</string>  <color name="my_color">#FFFFFF</color>  </resources>  

android TextView设置字体颜色就讲完了。

就这么简单。



android TextView设置字体颜色相关推荐

  1. android+设置字体行高,android textview设置字体的行距和字间距

    android textview设置字体的行距和字间距 字间距 textView有一个属性android:textScaleX是调节字间距的,它的值是一个float型.查看源代码,默认textView ...

  2. TextView设置字体颜色的几种方法简记

    Android中设置TextView字体颜色的方法: 方法一:直接在xml文件中设置 直接在xml文件中设置字体颜色,如android:textColor="@color/white_80& ...

  3. android textview 设置字体,Android TextView设置字体风格

    在开发应用过程中经常会遇到显示一些不同的字体风格的信息犹如默认的LockScreen上面的时间和充电信息.对于类似的情况,可能第一反应就是用不同的多个TextView来实现,对于每个TextView设 ...

  4. android字体行距,android textview设置字体的行距和字间距

    字间距 textView有一个属性android:textScaleX是调节字间距的,它的值是一个float型.查看源代码,默认textView 此属性是使用的是: android.internal. ...

  5. Android textView设置字体间距 间距 间距 不是行距

    没错,是我cv的,但我就要原创 public class LetterSpacingTextView extends androidx.appcompat.widget.AppCompatTextVi ...

  6. android spannable 设置字体颜色,安卓文本样式-Spannable的使用

    本文转载自 lixin84915的博客 Android文本样式  原文分为上下两部分,本文将上下整理成了一篇文章. 在android中,有 时候需要对文本进行各种特别的设置,比如颜色.大小.首行缩进, ...

  7. Android动态设置字体颜色

    1.在values文件夹里面创建colors.xml文件,然后写入相应的颜色 <!-- 白色 --><color name="white">#FFFFFF& ...

  8. Android TextView设置部分文字的颜色字体和大小

    目录 一,通过Html实现 1,例如实现如下效果 2,为一段文字中某些字单独设置字体大小 3,设置字体 二,通过Span 相关知识 前言 有时候一个TextView显示很多文字,所有文字颜色,字体,大 ...

  9. android textview 字体颜色设置,Android textview 设置不同的字体大小和颜色

    在实际应用中,需要将一个字符串已不同的颜色,字体显示出来.当然完全可以通过不同textview拼接出来.也可以通过一个textview来展示. 步骤如下: 1.定义不同style . 不妨如下定义2个 ...

最新文章

  1. OpenStack快速入门
  2. 201621123048《Java程序设计》第八周学习总结
  3. 【NLP】simhash判断文档相似度
  4. EasyCriteria 2.0 – JPA标准应该很容易
  5. python opencv屏幕找图_使用Python+OpenCV进行图像模板匹配(Match Template)实例-找到百度首页按钮并点击...
  6. 阅读react-redux源码(二) - createConnect、match函数的实现
  7. 审查指南 最新版本_代码审查-最终指南
  8. java http服务_springboot官方例子中文翻译--RESTful服务启用CORS支持
  9. Oracle 11g RAC 自动应用PSU补丁简明版
  10. windows10 查看端口占用
  11. python余弦定理_基于Python计算气弹簧选型
  12. 用ENSP配置ospf
  13. 0-glusterfs: failed to set volfile server: File exists
  14. chrome更新到80以上版本后,带来的跨域请求cookie丢失问题
  15. 回帖送大奖 『和AI在一起』
  16. zzulioj1096c语言版答案,郑州轻工业大学oj题解(c语言)1096:水仙花数(函数专题)...
  17. 数据库基础知识(八)
  18. 使用简单的编程为您的网站构建具有自定义知识的类似 ChatGPT 的聊天机器人
  19. 鸿蒙系统与nblot,华为鸿蒙操作系统,和想象中的不一样
  20. 计算机毕业设计-ssm+vue宿舍管理系统源码-宿舍维修管理系统javaweb项目

热门文章

  1. NOIP2016 愤怒的小鸟
  2. pimg src=http://img.blog.csdn.net/20150823142545135?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQ...
  3. Android 让系统自动生成缩略图并写入媒体库
  4. Dapper-开源小型ORM
  5. Entity Framework 使用注意:Where查询条件中用到的关联实体不需要Include
  6. Silverlight 4 Beta开发版带着许多新特性发布
  7. Asp.net動態添加控件(转)
  8. ASP.NET 2.0 中的资源与本地化
  9. Linux各个文件夹的作用~~~非常实用!!
  10. 分页原理+软件架构师