我的TextView
中的布局低于3 left
,并且它们分别对齐centre
,right
和<RelativeLayout
android:id="@+id/relRow1"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:text="@string/contact"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:text="@string/colon"
android:id="@+id/colonRow1"/>
<TextView
android:id="@+id/txtPrimaryContact"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentEnd="true"
android:layout_alignParentRight="true"
android:layout_toEndOf="@+id/colonRow3"
android:layout_toRightOf="@+id/colonRow3"
android:ellipsize="end"
android:gravity="end"
android:maxLines="1"
android:text="Joe SmithMartinWilliamCathcsdsdsdadas"/>
</RelativeLayout>
。
ellipsize
我现在面临的问题是,Marshmallow
无法正常运行或按预期使用Android设备版本&lt; 6.0。我的意思是对于具有ellipsize
版本的设备,lollipop
在达到最大宽度时会破坏文字,但对于具有kitkat
或ellipsize
版本的设备,可能会更低, ,对于长文本不会中断。ellipses
在文字中的空格后分解并显示Marshmallow
以下是它在android版本中的显示效果低于Marshmallow
:
考虑名称是 FName LName
联络:FName ......
以下是Android版本大于Marshmallow
的样子:
联系方式:FName LNa ...
这是较低版本或预期行为的错误吗?或者还有其他方法吗?我想在所有设备中都有Marshmallow
版本的文本。无论如何我能做到这一点吗?
更新
事实证明,在@ Charu的评论之后,我的假设是错误的。它实际上隐藏了设备版本中的长文本&lt; if(android.os.Build.VERSION.SDK_INT<Build.VERSION_CODES.M && name.length()>20)
name=name.substring(0,20)+"...";
else
txtPrimaryContact.setEllipsize(TextUtils.TruncateAt.END);
。我怎么能来这个?
现在我一直在使用下面的代码,但是当我们检查具有不同屏幕尺寸的不同设备时,这并不会扩大规模。我已附上截图供参考。
LIKE
&gt; =棉花糖设备
&LT;棉花糖装置[Kitkat具体但在棒棒糖中也经过测试]
答案 0 :(得分:6)
您可能会告诉我android:singleLine="true"
有点被弃用,这就是您使用android:maxLines="1"
的原因,但相信我将此android:singleLine="true"
添加到您的textView
应该可以解决问题!