zoukankan      html  css  js  c++  java
  • TextView 超链接

    引用:http://yezhiqiu-love-yeah-net.iteye.com/blog/1061073

    TextView是用来显示文本的,有时需要给TextView中的个别字设置为超链接,或者设置个别字的颜色、字体等,那就需要用到Spannable对象,可以借助Spannable对象实现以上设置。 
    效果图: 
     


    Activity代码: 

    1. package  com.zhou.activity;   
    2.   
    3. import  android.app.Activity;   
    4. import  android.graphics.Color;   
    5. import  android.os.Bundle;   
    6. import  android.text.Spannable;   
    7. import  android.text.SpannableString;   
    8. import  android.text.Spanned;   
    9. import  android.text.method.LinkMovementMethod;   
    10. import  android.text.style.BackgroundColorSpan;   
    11. import  android.text.style.ForegroundColorSpan;   
    12. import  android.text.style.StyleSpan;   
    13. import  android.text.style.URLSpan;   
    14. import  android.widget.TextView;   
    15.   
    16. public   class  TextViewLinkActivity  extends  Activity {   
    17.     TextView myTextView;   
    18.      @Override   
    19.      public   void  onCreate(Bundle savedInstanceState) {   
    20.          super .onCreate(savedInstanceState);   
    21.         setContentView(R.layout.main);   
    22.         myTextView = (TextView)  this .findViewById(R.id.myTextView);   
    23.            
    24.          //创建一个 SpannableString对象   
    25.         SpannableString sp =  new  SpannableString( "这句话中有百度超链接,有高亮显示,这样,或者这样,还有斜体." );   
    26.          //设置超链接   
    27.         sp.setSpan( new  URLSpan( "http://www.baidu.com" ),  5  7 ,   
    28.                 Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);   
    29.          //设置高亮样式一   
    30.         sp.setSpan( new  BackgroundColorSpan(Color.RED),  17  , 19 ,Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);   
    31.          //设置高亮样式二   
    32.         sp.setSpan( new  ForegroundColorSpan(Color.YELLOW), 20 , 24 ,Spannable.SPAN_EXCLUSIVE_INCLUSIVE);     
    33.          //设置斜体   
    34.         sp.setSpan( new  StyleSpan(android.graphics.Typeface.BOLD_ITALIC),  27  29 , Spannable.SPAN_EXCLUSIVE_INCLUSIVE);   
    35.          //SpannableString对象设置给TextView   
    36.         myTextView.setText(sp);   
    37.          //设置TextView可点击   
    38.         myTextView.setMovementMethod(LinkMovementMethod.getInstance());   
    39.     }   
    40. }
  • 相关阅读:
    spring cloud alibaba +seata 实战中Error processing condition on io.seata.spring.boot.autoconfigure.问题总结
    Docker部署Elasticsearch及安装后自动关闭的问题
    SpringBoot10:Web开发静态资源处理
    SpringBoot09:整合MyBatis
    SpringBoot08:整合Druid
    SpringBoot07:整合JDBC
    SpringBoot06:自定义starter
    SpringBoot05:自动配置原理
    SpringBoot04:JSR303数据校验及多环境切换
    SpringBoot03:yaml配置注入
  • 原文地址:https://www.cnblogs.com/sode/p/2174309.html
Copyright © 2011-2022 走看看