欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  移动技术

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

程序员文章站 2024-02-25 18:47:09
一、需求: 标题可能写的不够全部,下面来看下图片,大家就明白是什么意思了。视频与票的图标跟在标题后面显示,当标题过长时icon显示到省略号…后(textview省略号显示...

一、需求:

标题可能写的不够全部,下面来看下图片,大家就明白是什么意思了。视频与票的图标跟在标题后面显示,当标题过长时icon显示到省略号…后(textview省略号显示,图标自动靠后)。

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

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

二、问题解决

textview可以通过 android:ellipsize="end" android:singleline="true"实现单行省略,

但是当我们要是图标跟着文字后面,第一时间想到用linearlayoutlayout_weight 来做,但是做出来效果不一样。

后来竟然忘记这个属性了:指定textview的最大宽度实现自动省略 android:maxwidth="90dp" ,加上这个就解决了。

但是问题来了,这个值不能写成固定的,要根据屏幕进行适配。可以计算屏幕的宽度,然后动态进行数值的添加。

代码如下:

// 进行计算屏幕宽度,动态显示
  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));

里面使用的px转换类为:

public static int getpixels(int unit, float size) {
  displaymetrics metrics = resources.getsystem().getdisplaymetrics();
  return (int) typedvalue.applydimension(unit, size, metrics);
 }

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流。