TextView作为开发时候显示最常用的控件之一,我们使用的频率是非常高的,承接上一篇:
TextView使用技术点(一),除此之外还有那些的方法值得我们研究呢?
1、基本的字体颜色设置
2、变化字体颜色设置
3、隐藏内容颜色等设置
4、特殊格式的相关设置(网址、电话等)
下面来一一解决:
1、基本的字体颜色设置:
mTxt1.setTextColor(Color.RED);//设置成默认的颜色 红色黄色等等 mTxt2.setTextColor(Color.parseColor("#FF0000"));//设置成红绿蓝6位颜色,都有两位的16进制数字表示,以#开头 mTxt3.setTextColor(Color.parseColor("#AAFF0000"));//设置成带透明度的8位颜色,同上,透明度也用两位表示
效果如下:
2、变化的字体颜色设置:
变化的字体颜色,包括聚焦、点击的时候变化字体颜色等。
首先,新建color的xml文件文件如下:
设置的时候可以通过属性值设置,也可以通过相关设置方法设置,如下<?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:state_pressed="true" android:color="#ffff0000"/> <item android:state_focused="true" android:color="#ff0000ff"/> <item android:color="#ff000000"/> </selector>
两种方法否必须将 android:clickable="true" 加上,否则无效:
1):<TextView android:id="@+id/txt_2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:clickable="true" android:padding="10dp" android:text="测试TextView2" android:textColor="@color/color_test_select" android:textSize="15sp"/>
2)
mTxt1.setTextColor(ContextCompat.getColorStateList(this,R.color.color_test_select));
效果如下:
3、隐藏内容颜色等设置(注意此处text属性为空,即不能设置内容,否则会覆盖掉提示内容):
1)
2)<TextView android:id="@+id/txt_2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:clickable="true" android:padding="10dp" android:hint="提示文字" android:textColorHint="@android:color/darker_gray" android:textSize="15sp"/>
mTxt2.setHint("提示文字颜色"); mTxt2.setHintTextColor(Color.YELLOW);
效果如下:
4、特殊格式的相关设置(网址、电话等)网址点击之后跳转网页,电话点击进入拨号,右键点击发送邮件等:需要此两句关键设置:
或者:android:autoLink="web" android:textColorLink="@android:color/holo_red_dark"
mTxt3.setLinkTextColor(Color.BLUE); mTxt3.setAutoLinkMask(Linkify.WEB_URLS); mTxt3.setText("http://www.java1234.com");
实际设置代码如下:效果如下:<TextView android:id="@+id/txt_3" android:layout_width="wrap_content" android:layout_height="wrap_content" android:autoLink="web" android:textColorLink="@android:color/holo_red_dark" android:padding="10dp" android:text="http://www.baidu.com" android:textSize="15sp"/> <TextView android:id="@+id/txt_4" android:layout_width="wrap_content" android:layout_height="wrap_content" android:autoLink="phone" android:padding="10dp" android:textColorLink="@android:color/holo_blue_bright" android:text="15319903194" android:textSize="15sp"/>
到此,问题已基本解决。