笔记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 条评论
登录 后参与评论

相关文章

来自专栏向治洪

android下拉加载更多

新浪微博,和QQ空间里面,都有那个下拉刷新的效果,另很多人眼前一亮,细细分析,原理原来如此。 在原作者的基础上,写了一些注释,和帮助大家更好的阅读理解,(可...

2076
来自专栏xingoo, 一个梦想做发明家的程序员

【手把手教你全文检索】Lucene索引的【增、删、改、查】

前言   搞检索的,应该多少都会了解Lucene一些,它开源而且简单上手,官方API足够编写些小DEMO。并且根据倒排索引,实现快速检索。本文就简单的实现增...

1975
来自专栏吴小龙同學

Android Volley使用

导入Volley Volley貌似没有官方的Maven repository,你必须依赖官方的源代码。从它的repository 下载Volley源码。使用Gi...

3209
来自专栏非著名程序员

Android快速开发框架 roboguice

我记得推过一篇文章也是快速开发框架的,今天再来一篇! 1、roboguice 效果 ---- ? 图文无关 2、roboguice 说明 ---- robo...

1858
来自专栏Android干货

关于安卓开发实现底部菜单栏(已过时做法,不建议使用)

2629
来自专栏向治洪

实现去哪儿来回机票选择的view

最近有个控件是实现和去哪儿和阿里旅行的app的选择日历效果,反编译没有效果的情况下我自己实现了个,大致的原理是: 上面是产品需要实现的效果,我看了下不就是一个L...

1695
来自专栏吴小龙同學

Android通讯录索引效果

通讯录索引效果,网上很多了,我这里做个记录。 效果预览 ? SideBar 此类自定义索引的字母 1 2 3 4 5 6 7 8 9 10 11 12 ...

2816
来自专栏向治洪

listview动态获取数据

1.主Activity 1 public class MainActivity extends Activity { 2 3 private ...

1959
来自专栏Jack的Android之旅

高仿京东金融的数值滚动尺

以前博客讲的大部分都是静态的自定义View的编写,其实无非就是“画画”画出一个好看的效果,而这篇博客写的是写一个动态的自定义控价,这里不仅需要"画",还要各种事...

683
来自专栏Golang语言社区

转-带交互的telnet小工具,golang版

package netTools //main // import ( "fmt" "net" "strconv" "strings" "time"...

33310

扫码关注云+社区