今天遇到一个问题,在TextView中,设置了android:maxEms="5" 并设置了android:singleLine="true",android:ellipsize="end",在大多数手机中使用都没有问题,比如输入字符“我爱你亲爱的祖国”,会显示“我爱你亲爱..."
但是在三星手机,还有别的手机上出现”我爱你亲爱的...","我爱你亲..."这两种有多有少的状况,一直在找到底是什么原因产生这种状况。在查找的过程中,确实发现 当你设置android:layout_width="70dp" 宽度为固定值得时候,这个android:maxEms="5"属性是不生效的,会把TextView填充满后,在显示...。显然这种情况,跟我们出现的状况不一样,我们的情况是有多,又少。最后用布局视图在各个屏幕上调试发现,原来是分辨率导致的这个问题。比如,三星手机分辨率较高,所以同样布局宽度,它显示的字符就比较多,所以要对这些分辨率做适配。
在res文件夹下,创建布局文件layout-1920x1080,因为这个三星分辨率就是1920x1080,然后把你的布局拷到这个文件夹下,对宽度做出相应调整,就可以了。
这里记下这个问题,因为它确实花了我不少时间,才定位出导致问题的原因。希望我踩得坑,能够对你们有所帮助!我也是开发路上的小白,你们有更好的解决方式,可以提出来。希望大家相互学习,相互进步。
逆水行舟,不进则退!