Android TextView设置下划线

本文总结了Android中TextView添加下划线的五种方法:代码设置Paint属性、HTML用法、Html.fromHtml()、利用android:autoLink属性以及使用SpannableString进行格式化。详细介绍了每种方法的适用场景和实现方式。
摘要由CSDN通过智能技术生成

最近总是遇到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里

<resources>
    <string name="app_name">textview</string>
    <string name="phone"><u>那就这样吧</u></string>
</resources>

然后在布局文件里使用。

<TextView
    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("<u>"+"没有什么能够阻挡,我对自由的向往"+"</u>"));
这样就设置成功了。

四、TextView的android:autoLink属性

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

<TextView
    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="邮箱:liying5494@163.com 电话:10000"
    android:textSize="20sp" />

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

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

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



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值