当前位置:  编程技术>移动开发

Android中实现为TextView添加多个可点击的文本

    来源: 互联网  发布时间:2014-10-26

    本文导语:  本文实例展示了Android中实现为TextView添加多个可点击的文本的方法。该功能在Android社交软件的制作中非常具有实用价值。分享给大家供大家参考。具体如下: 很多时候我们在使用社交软件的过程中多多少少会为别人的帖子点...

本文实例展示了Android中实现为TextView添加多个可点击的文本的方法。该功能在Android社交软件的制作中非常具有实用价值。分享给大家供大家参考。具体如下:

很多时候我们在使用社交软件的过程中多多少少会为别人的帖子点赞,如下图所示:

可以看到用户页面显示出来的只是点了赞的用户的名称,点击这些名称可以进入到该用户的主页。下面我们就来实现类似的效果。

具体代码如下:

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main);  
 
TextView mTextView = (TextView) rootView.findViewById(R.id.like_tv); 
 
  // 构造多个超链接的html, 通过选中的位置来获取用户名 
  StringBuilder sbBuilder = new StringBuilder(); 
  for (int i = 0; i < 10; i++) { 
    sbBuilder.append("username-" + i + "、"); 
  } 

  String likeUsers = sbBuilder.substring(0, sbBuilder.lastIndexOf("、")).toString(); 
  mTextView.setMovementMethod(LinkMovementMethod.getInstance()); 
  mTextView.setText(addClickablePart(likeUsers), BufferType.SPANNABLE); 

} 
/** 
* @param str 
* @return 
*/ 
private SpannableStringBuilder addClickablePart(String str) { 
  // 第一个赞图标 
  ImageSpan span = new ImageSpan(getActivity(), R.drawable.umeng_comm_like); 
  SpannableString spanStr = new SpannableString("p."); 
  spanStr.setSpan(span, 0, 1, Spannable.SPAN_INCLUSIVE_EXCLUSIVE); 
   
  SpannableStringBuilder ssb = new SpannableStringBuilder(spanStr); 
  ssb.append(str) ; 

  String[] likeUsers = str.split("、"); 

  if (likeUsers.length > 0) { 
    // 最后一个 
    for (int i = 0; i < likeUsers.length; i++) { 
  final String name = likeUsers[i]; 
  final int start = str.indexOf(name) + spanStr.length(); 
  ssb.setSpan(new ClickableSpan() { 

    @Override 
    public void onClick(View widget) { 
   Toast.makeText(getView().getContext(), name, 
   Toast.LENGTH_SHORT).show(); 
    } 

    @Override 
    public void updateDrawState(TextPaint ds) { 
   super.updateDrawState(ds); 
   // ds.setColor(Color.RED); // 设置文本颜色 
   // 去掉下划线 
   ds.setUnderlineText(false); 
    } 

  }, start, start + name.length(), 0); 
    } 
  } 
  return ssb.append("等" 
  + likeUsers.length + "个人赞了您."); 
} // end of addClickablePart 

运行效果如下图所示:

希望本文所述对大家的Android程序设计有所帮助


    
 
 

您可能感兴趣的文章:

  • Android中实现EditText圆角的方法
  • Android中实现HashMap排序的方法
  • Android中实现Runnable接口简单例子
  • Android自定义View设定到FrameLayout布局中实现多组件显示的方法 分享
  • Android中实现GPS定位的简单例子
  • Android中实现开机自动启动服务(service)实例
  • android中实现指针滑动的动态效果方法
  • 基于Android中实现定时器的3种解决方法
  • 解析Android中实现滑动翻页之ViewFlipper的使用详解
  • Android中实现地址栏输入网址能浏览该地址网页源码并操作访问网络
  • Android中实现多行、水平滚动的分页的Gridview实例源码
  • 如何在Android中实现渐显按钮的左右滑动效果
  • 如何在Android中实现左右滑动的指引效果
  • Android中实现可滑动的Tab的3种方式
  • 在android中实现类似uc和墨迹天气的左右拖动效果
  • android TextView不用ScrollViewe也可以滚动的方法
  • android Textview文字监控(Textview使用方法)
  • Android控件之TextView的分析探究
  • Android开发:TextView加入滚动条示例
  • android开发教程之textview内容超出屏幕宽度显示省略号
  • Android TextView和ImageView简单说明
  • Android TextView设置背景色与边框的方法详解
  • Android用户界面开发之:TextView的使用实例
  • android TextView多行文本(超过3行)使用ellipsize属性无效问题的解决方法
  • android TextView加下划线的方法
  • android TextView设置中文字体加粗实现方法
  • android中设置TextView/Button 走马灯(Marquee)效果示例
  • Android实现TextView中文字链接的4种方式介绍及代码
  • Android的TextView与Html相结合的具体方法
  • android TextView属性的详细介绍 分享
  • android教程之textview解析带图片的html示例
  •  
    本站(WWW.169IT.COM)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.169IT.COM)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • android开发教程之文本框加滚动条scrollview
  • android输入框与文本框加滚动条scrollview示例
  • android实现文本复制到剪切板功能(ClipboardManager)
  • Android的文本和输入之创建输入法教程
  • Android文本框搜索和清空效果实现代码及简要概述
  • android界面布局之实现文本块布局效果示例
  • android 手机SD卡读写操作(以txt文本为例)实现步骤
  • 申请Android Map 的API Key(v2)的最新申请方式(SHA1密钥)
  • Android瀑布流实例 android_waterfall
  • Android开发需要的几点注意事项总结
  • Android系统自带样式 (android:theme)
  • android 4.0 托管进程介绍及优先级和回收机制
  • Android网络共享软件 Android Wifi Tether
  • Android访问与手机通讯相关类的介绍
  • Android 图标库 Android GraphView
  • Android及andriod无线网络Wifi开发的几点注意事项
  • 轻量级Android开发工具 Android Tools
  • Android 2.3 下StrictMode介绍
  • Android 开发环境 Android Studio
  • IDEA的Android开发插件 idea-android
  • Android手机事件提醒 Android Notifier
  • XBMC的Android客户端 android-xbmcremote
  • Android小游戏 Android Shapes
  • Android电池监控 Android Battery Dog
  • android开发:“android:WindowTitle”没有对应项no resource
  • Android 上类似IOS 的开关控件。 Android ToggleButton
  • Android 将 android view 的位置设为右下角的解决方法
  • Android 2D游戏引擎 Android Angle


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2017,169IT.COM,E-mail:www_169it_com#163.com(请将#改为@)

    浙ICP备11055608号