笔记15 | 归纳总结Android动态设置TextView的颜色的四种方法

前言

本节简要地来归纳总结Android动态设置TextView的颜色的四种方法

地址

http://blog.csdn.net/xiangyong_1521/article/details/51307590

目录

  • 主要代码
  • 链接

一. 代码示例

package com.txlong;    

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

public class ListViewDemoActivity extends Activity {    
    // private ListView listView;    

    /** Called when the activity is first created. */    
    @Override    
    public void onCreate(Bundle savedInstanceState) {    
        super.onCreate(savedInstanceState);    

        TextView tv = new TextView(this);    
        tv.setText("Test set TextView's color.");    
        //方案一:通过ARGB值的方式    
        /**  
         * set the TextView color as the 0~255's ARGB,These component values  
         * should be [0..255], but there is no range check performed, so if they  
         * are out of range, the returned color is undefined  
         */    
        tv.setTextColor(Color.rgb(255, 255, 255));    
        /**  
         * set the TextView color as the #RRGGBB #AARRGGBB 'red', 'blue',  
         * 'green', 'black', 'white', 'gray', 'cyan', 'magenta', 'yellow',  
         * 'lightgray', 'darkgray'  
         */    
        tv.setTextColor(Color.parseColor("#FFFFFF"));    

      String StrColor = null;    
      StrColor = "FFFFFFFF";    
      int length = StrColor.length();    
      if (length == 6) {    
          tv.setTextColor(Color.rgb(    
                  Integer.valueOf(StrColor.substring(0, 2), 16),    
                  Integer.valueOf(StrColor.substring(2, 4), 16),    
                  Integer.valueOf(StrColor.substring(4, 6), 16)));    
      } else if (length == 8) {    
          tv.setTextColor(Color.argb(    
                  Integer.valueOf(StrColor.substring(0, 2), 16),    
                  Integer.valueOf(StrColor.substring(2, 4), 16),    
                  Integer.valueOf(StrColor.substring(4, 6), 16),    
                  Integer.valueOf(StrColor.substring(6, 8), 16)));    
      }    

        //方案二:通过资源引用    
      tv.setTextColor(getResources().getColor(R.color.my_color));    

        //方案三:通过资源文件写在String.xml中    
      Resources resource = (Resources) getBaseContext().getResources();    
      ColorStateList csl = (ColorStateList) resource.getColorStateList(R.color.my_color);    
      if (csl != null) {    
          tv.setTextColor(csl);    
      }    

        //方案四:通过xml文件,如/res/text_color.xml    
      XmlPullParser xrp = getResources().getXml(R.color.text_color);    
      try {    
          ColorStateList csl = ColorStateList.createFromXml(getResources(), xrp);    
          tv.setTextColor(csl);    
      } catch (Exception e) {    
      }    
         listView = new ListView(this);    

         Cursor cursor = getContentResolver().query(    
         Uri.parse("content://contacts/people"), null, null, null, null);    

         startManagingCursor(cursor);    

         ListAdapter listAdapter = new SimpleCursorAdapter(this,    
         android.R.layout.simple_expandable_list_item_2, cursor,    
         new String[] { "name", "name" }, new int[] {    
         android.R.id.text1, android.R.id.text2 });    

         listView.setAdapter(listAdapter);    
         setContentView(listView);   

        setContentView(tv);    
    }    
}

原文发布于微信公众号 - 项勇(xiangy_life)

原文发表时间:2017-10-11

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Hadoop数据仓库

Oracle sqlldr 如何导入一个日期列

1. LOAD DATA INFILE * INTO TABLE test FIELDS TERMINATED BY X'9' TRAILING NULLCO...

1786
来自专栏一个会写诗的程序员的博客

java.base.jmod

/Library/Java/JavaVirtualMachines/jdk-9.jdk/Contents/Home/jmods$ jmod list java....

1112
来自专栏增长技术

App Guide相关

##TourGuide https://github.com/worker8/TourGuide

702
来自专栏码匠的流水账

聊聊HystrixThreadPool

hystrix-core-1.5.12-sources.jar!/com/netflix/hystrix/HystrixThreadPool.java

771
来自专栏Petrichor的专栏

Dataset 列表:机器学习研究

In computer vision, face images have been used extensively to develop face recog...

1471
来自专栏码匠的流水账

java9系列(五)Stack-Walking API

java9新增这个类的目的是提供一个标准API用于访问当前线程栈,之前只有Throwable::getStackTrace、Thread::getStackTr...

421
来自专栏余生开发

echarts太阳分布图-饼图来回穿梭

var dom = document.getElementById("container");

1172
来自专栏专知

2018年SCI期刊最新影响因子排行,最高244,人工智能TPAMI9.455

2018年6月26日,最新的SCI影响因子正式发布,涵盖1万2千篇期刊。CA-Cancer J Clin 依然拔得头筹,其影响因子今年再创新高,达244.585...

1272
来自专栏linux驱动个人学习

高通msm8909耳机调试

1、DTS相应修改: DTS相关代码:kernel/arch/arm/boot/dts/qcom/msm8909-qrd-skuc.dtsi: 1 s...

7475
来自专栏码匠的流水账

spring security reactive获取security context

本文主要研究下reactive模式下的spring security context的获取。

1752

扫码关注云+社区