0%

在TextView中显示链接 定义颜色

TextView并不能解析HTML代码,所以HTML中的A标签无法转换为链接,如果要在TextView上显示链接,需要在TextView上加个autoLink属性:

<TextView  android:id="@+id/tv"
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:text="http://www.pocketdigi.com 
webmaster@pocketdigi.com 
15888922219 测试链接"
    android:autoLink="all"
    android:textColor="#FF0000"
    android:textColorLink="#000000"
/>

其中autoLink的值为 web时,只自动链接网页,为Email时只链接邮箱,为phone时只链接电话号码,为All时自动识别所有链接。还有一种为map,不知是否为地图?textColorLink设置的是链接的颜色,这里的#000000 是RGB编码,代表黑色,textColor设置的是字符颜色,就是没有被识别成链接的字体颜色,这里是测试链接四个字,定义为#FF0000,就是红色。所以这个TextView显示的效果如下图: 背景为白色是因为我之前在LinearLayout设置过background.TextView能识别换行符 还可以在程序中修改字体颜色:

 TextView tv=(TextView)findViewById(R.id.tv);
tv.setTextColor(this.getResources().getColor(R.color.gray));
tv.setTextColor(Color.GRAY);

第二行跟第三行是同样的功能,只不过两种不同的方式实现。R.color.gray事先在value目录的的xml文件中定义过:

<color name="gray">#999999</color>