Android TextView设置下划线

最近总是遇到Textview加下划线,所以抽空总结一下

Android TextView加下划线的方法大概有五种:

一、代码设置TextView的Paint属性

首先声明控件并初始化,然后设置属性
//TextView加下划线
TextView tv1 = (TextView)findViewById(R.id.text);
tv1.getPaint().setFlags(Paint.UNDERLINE_TEXT_FLAG);//下划线
tv1.getPaint().setAntiAlias(true);//抗锯齿
tv1.setTextColor(Color.parseColor("#ff0000"));

二、使用html用法

首先将文字写在资源文件 strings.xml里


    name="app_name">textview
    name="phone">那就这样吧

然后在布局文件里使用。

    android:id="@+id/text2"
    android:layout_width="wrap_content"
    android:layout_marginTop="20dp"
    android:layout_height="wrap_content"
    android:layout_centerInParent="true"
    android:layout_gravity="center_horizontal"
    android:text="@string/phone"
    android:textSize="20sp" />

这样下划线就添加成功了。最近喜欢听那就这样吧 这首歌.........

三、用Html类的fromHtml()方法。

这种方法和第二种类似,区别是这种方法是用代码设置

//代码使用Html.fromHtml()
TextView tv4 = (TextView)findViewById(R.id.text4);
tv4.setText(Html.fromHtml(""+"没有什么能够阻挡,我对自由的向往"+""));
这样就设置成功了。

四、TextView的android:autoLink属性

比如一段话中有URL,电话,邮件等的时候,可以设置该属性。例如 我的邮箱是:[email protected].然后设置TextView的android:autoLink属性,就会自动在邮箱下添加下划线。文字下是没有的。属性有多种可以根据需求选择。

    xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/text3"
    android:layout_width="wrap_content"
    android:layout_marginTop="20dp"
    android:layout_height="wrap_content"
    android:layout_centerInParent="true"
    android:layout_gravity="center_horizontal"
    android:autoLink="all"
    android:text="邮箱:[email protected] 电话:10000"
    android:textSize="20sp" />

五、Spannable或实现它的类,如SpannableString来格式部分字符串。

SpannableString的功能有很多,比如添加背景色,文字颜色,修饰效果,添加下划线等等。
我是通过下面这篇博客学习的:

http://blog.csdn.net/u011102153/article/details/52485650



你可能感兴趣的:(Android TextView设置下划线)