android中Textview 和图片同时显示时,文字省略号显示,图片自动靠到右边

很纠结的一个标题,实在是不知道怎么去描述这个现象。

上图片吧,先看看需求是什么样的。

1.需求:

?

视频与票的图标跟在标题后面显示,当标题过长时icon显示到省略号…后(textview省略号显示,图标自动靠后)。

2. 问题解决

?

本来是一个很正常的需求,看起来很简单,但是做起来却遇到了很蛋疼的问题,怎么搞的都不行,堵了很长时间,下面说一下解决方案,遇到这样问题的朋友可以使用。

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

但是当我们要是图标跟着文字后面,第一时间想到用LinearLayout的layout_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);
    }
时间: 2024-12-20 17:29:06

android中Textview 和图片同时显示时,文字省略号显示,图片自动靠到右边的相关文章

Android中TextView显示省略号

记录一下Android中Textview显示省略号的属性: android:ellipsize="end"里面有很多设置属性包括start,end,middle等等,很容易理解,这里不多做解释.

Android中仿淘宝首页顶部滚动自定义HorizontalScrollView定时水平自动切换图片

Android中仿淘宝首页顶部滚动自定义HorizontalScrollView定时水平自动切换图片 自定义ADPager 自定义水平滚动的ScrollView效仿ViewPager 当遇到要在ViewPager中添加多张网络请求图片的情况下,不能进行复用,导致每次都要重新去求情已经请求过的数据致使流量数据过大 自定义的数据结构解决了这个问题,固定传递的图片数据之后进行统一请求,完成后进行页面切换数据复用 代码中涉及网络请求是用的Volley网络请求框架 PicCarousel是网络数据请求的U

Android中TextView内容过长加省略号

      textview中有个内容过长加省略号的属性,即ellipsize,用法如下: 在xml中 Android:ellipsize = "end"   省略号在结尾 android:ellipsize = "start" 省略号在开头 android:ellipsize = "middle"     省略号在中间 android:ellipsize = "marquee"  跑马灯 最好加一个约束android:sin

Android中TextView setText int 报错

在对中TextView setText 覆值int 时报错,网上查下原因是setText整型表明是设值R.id.xxx,当然找不到. 解决方法是将int转化为string,用String.valueOf(xxx) Android中TextView setText int 报错,布布扣,bubuko.com

Android中TextView和EditView常用属性设置

Android开发中最常用的差不多就是TextView和EditView了,在使用它时,我们也会设置它的一些属性,为了让我们设计的更好看,设置的更合理.这里记下它的常用属性,方便后期查阅. EditText属性描述 android:layout_gravity="center_vertical"//设置控件显示的位置:默认top,这里居中显示,还有bottom android:background="@android:drawable/edit_text"这个属性,

Android中使用HttpURLConnection实现GET POST JSON数据与下载图片

Android6.0中把Apache HTTP Client所有的包与类都标记为deprecated不再建议使用 所有跟HTTP相关的数据请求与提交操作都通过HttpURLConnection类实现,现实是 很多Android开发者一直都Apache HTTP Client来做andoird客户端与后台HTTP接口数 据交互,本人刚刚用HttpURLConnection做了一个android的APP,不小心踩到了几个 坑,总结下最常用的就通过HttpURLConnection来POST提交JSO

Android中TextView输入字数统计和限制

在Android开发应用的时候,文本编辑框中最多输入140个字,经常会显示还剩多少字以限制用户输入的字数, EditText content;//定义一个文本输入框 TextView hasnum;// 用来显示剩余字数 int num = 140;//限制的最大字数 content = (EditText) findViewById(R.id.et_content); hasnumTV = (TextView) findViewById(R.id.tv_num); hasnumTV.setTe

[androidUI特效]android中TextView中如何设置水平滚动效果

如何让文本实现走马灯的效果,下面就一起实现下吧~~~~~~ package irdc.ScrollingText; import android.app.Activity; import android.os.Bundle; import android.widget.TextView; public class ScrollingText extends Activity { public TextView t1; /** Called when the activity is first c

Android中textView自动识别电话号码,电子邮件,网址(自动加连接)

extends:http://blog.csdn.net/wx_962464/article/details/8471195 其实这个是很简单的,在android中已经为我们实现了,但是我估计很多人都不知道.包括我.所以就写下来供大家看看,学习. 核心的就是在TextView中添加一个属性就行了,添加android:autoLink="email|phone|web" 这样我们的程序中就会主动的识别我们的email地址,我们的电话号码,以及我们的web页面. 下面就看看效果图吧.