android:ellipsize="end"在ConstraintLayout中无效的问题

最近在项目中使用android:ellipsize="end"无效,经过排查,发现不是没有省略号,而是已经超出了屏幕。经过分析,我觉得是对ConstraintLayout不够了解,下面贴一下我之前的代码:

	

  

坑爹的是,这种方式在预览界面是没问题的,运行在手机上却出现bug
android:ellipsize=
想到我之前没有在ConstraintLayout中使用过这种方式,我读了一片相关博客,大概明白了来龙去脉,ConstraintLayout中的控件都要规定约束范围,之前的写法显然违背了这个原则,textview的最大宽度等于它的父布局的宽,加上左侧别的控件的宽度,导致超出了屏幕。明白了这一层,对textview的宽度做了约束,果然实现了最终效果。这是修改后的代码:


你可能感兴趣的:(Android)