Android编程心得-为TextView添加各种样式

jopen 11年前

在开发过程中,发现有时候TextView需要特殊显示的时候,需要特殊处理,以下是常见的一些功能要求:

 

1.为TextView 添加下划线

 TextView appVersion=(TextView) root.findViewById(R.id.appversion_value);   appVersion.getPaint().setFlags(Paint.UNDERLINE_TEXT_FLAG);    appVersion.setText("Ver 1.2.5");

如上代码这样就为这样一个代码添加了下划线

 

 

2.为TextView添加超链接

  String blogsite="http://blog.csdn.net/yangqicong11";          SpannableString spblog =  new  SpannableString( blogsite);                 //设置超链接             spblog.setSpan( new  URLSpan( blogsite ),  0 , blogsite.length() ,                     Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);              PersonalBlog=(TextView) root.findViewById(R.id.PersonalBlog_value);          PersonalBlog.setText(spblog);          PersonalBlog.setMovementMethod(LinkMovementMethod.getInstance());     

这样我们的TextView就成了超链接的形式,用户点击后可以直接调用浏览器跳转到对应页面

 

3.为TextView  添加背景高亮显示


  String tmp= "背景高亮";          SpannableString sp =  new  SpannableString( "背景高亮" );             //设置高亮样式一            sp.setSpan( new  BackgroundColorSpan(Color.BLUE),  0  , tmp.length() ,Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);        TextView appEditor=(TextView) root.findViewById(R.id.appEditor_value);    appEditor.setText(sp);

这样我们的TextView 背景就变成高亮了

 

4.为TextView 添加文字高亮显示

 String tmp= "文字高亮";          SpannableString sp =  new  SpannableString( "文字高亮" );             //设置高亮样式二            sp.setSpan( new  ForegroundColorSpan(Color.YELLOW), 0 , tmp.length() ,Spannable.SPAN_EXCLUSIVE_INCLUSIVE);      TextView appEditor=(TextView) root.findViewById(R.id.appEditor_value);    appEditor.setText(sp);

与上一个所不同的是 这里仅仅只是TextView中的文字产生了高亮的效果

 



5.为TextView添加加粗斜体显示

 String tmp= "设置斜体";          SpannableString sp =  new  SpannableString( "设置斜体" );             //设置斜体            sp.setSpan( new  StyleSpan(android.graphics.Typeface.BOLD_ITALIC),  0 ,  tmp.length() , Spannable.SPAN_EXCLUSIVE_INCLUSIVE);         TextView appEditor=(TextView) root.findViewById(R.id.appEditor_value);   appEditor.setText(sp);