源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

Android中Textview和图片同行显示(文字超出用省略号,图片自动靠右边)

  • 时间:2021-08-20 03:39 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:Android中Textview和图片同行显示(文字超出用省略号,图片自动靠右边)
[b]一、需求:[/b] 标题可能写的不够全部,下面来看下图片,大家就明白是什么意思了。视频与票的图标跟在标题后面显示,当标题过长时icon显示到省略号…后(textview省略号显示,图标自动靠后)。 [img]http://files.jb51.net/file_images/article/201612/20161214150602241.png?2016111415610[/img] [img]http://files.jb51.net/file_images/article/201612/20161214150628870.png?2016111415637[/img] [b]二、问题解决[/b] TextView可以通过 [code]android:ellipsize="end" android:singleLine="true"[/code]实现单行省略, 但是当我们要是图标跟着文字后面,第一时间想到用[code]LinearLayout[/code]的[code]layout_weight [/code]来做,但是做出来效果不一样。 后来竟然忘记这个属性了:指定[code]TextView[/code]的最大宽度实现自动省略 [code]android:maxWidth="90dp" [/code],加上这个就解决了。 但是问题来了,这个值不能写成固定的,要根据屏幕进行适配。可以计算屏幕的宽度,然后动态进行数值的添加。 [b]代码如下:[/b]
// 进行计算屏幕宽度,动态显示
  DisplayMetrics dm = new DisplayMetrics();
  ((Activity) mContext).getWindowManager().getDefaultDisplay().getMetrics(dm);
  int width = dm.widthPixels;
  holder.tv_postbar_item_title.setMaxWidth(width - UIUtils.getPixels(TypedValue.COMPLEX_UNIT_DIP, 78));
[b]里面使用的px转换类为:[/b]
public static int getPixels(int Unit, float size) {
  DisplayMetrics metrics = Resources.getSystem().getDisplayMetrics();
  return (int) TypedValue.applyDimension(Unit, size, metrics);
 }
[b]总结[/b] 以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流。
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部