TextView
添加下划线:
资源布局文件中设置
1、使用html格式化:
将要处理的文字写到资源文件string.xml中,添加下划线标签<u></u>
如下:
<resources>
<string name="text"><u>注册条款</u></string>
</resources>
2、TextView设置autoLink属性
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/text1"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:autoLink="all"
android:text="@string/link_text_auto" />
代码动态设置
3、使用Html.fromHtml()
TextView textView = (TextView)findViewById(R.id.tv_test);
textView.setText(Html.fromHtml("<u>"+"注册条款"+"</u>"));
4、设置TextView的Paint属性:
tv.getPaint().setFlags(Paint. UNDERLINE_TEXT_FLAG ); //下划线
3、用Spannable或实现它的类,如SpannableString来格式部分字符串。
SpannableString content = new SpannableString(str);
content.setSpan(new UnderLineSpan, 0, str.length(), 0);
代码里面自定义超链接样式:
TextView tv=new TextView(this);
tv.setText(Html.fromHtml("<a href=\"http://blog.csdn.net/CAIYUNFREEDOM\">自定义的超链接样式</a>"));
// 在单击链接时凡是有要执行的动作,都必须设置MovementMethod对象
tv.setMovementMethod(LinkMovementMethod.getInstance());
CharSequence text = tv.getText();
if (text instanceof Spannable){
int end = text.length();
Spannable sp = (Spannable)tv.getText();
URLSpan[] urls = sp.getSpans( 0 , end, URLSpan.class );
SpannableStringBuilder style = new SpannableStringBuilder(text);
style.clearSpans(); // should clear old spans
for (URLSpan url : urls){
URLSpan myURLSpan= new URLSpan(url.getURL());
style.setSpan(myURLSpan,sp.getSpanStart(url),sp.getSpanEnd(url),Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
style.setSpan(new//设置前景色为红色
}
tv.setText(style);
}
未完待续.....
网友评论