大佬教程收集整理的这篇文章主要介绍了Android布局:如何保持最右边的文本元素和椭圆化最左边的文本元素?,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
<LinearLayout android:layout_width="0dp" android:layout_weight="1" android:layout_height="match_parent" android:orientation="horizontal"> <TextView android:id="@+id/variable-size" android:layout_height="wrap_content" android:layout_width="wrap_content" android:ellipsize="middle" android:lines="1" android:singleLine="true" android:text="short text"/> <TextView android:id="@+id/fixed-size" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center_vertical" android:ellipsize="none" android:lines="1" android:singleLine="true" android:text="(s)" /> </LinearLayout>
[[简短文字] [(s)] ____________]
其中____表示空视图.
现在,如果我在第一个TextView中添加一个稍长的字符串,我想看到这个:
[[略长文字] [(s)] __]
如果我将更长的字符串放入第一个TextView,我想看到这个:
[[真的很长……文字] [(s)]]
但我似乎无法找到一种方法来阻止第一个TextView完全挤出第二个TextView,如下所示:
[[真的很长…很长的文字]]
我如何得到我正在寻找的行为?
<LinearLayout android:layout_width="wrap_content" android:layout_height="match_parent" android:orientation="horizontal"> <TextView android:id="@+id/variable-size" android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="1" android:ellipsize="middle" android:lines="1" android:singleLine="true" android:text="short text" /> <TextView android:id="@+id/fixed-size" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center_vertical" android:ellipsize="none" android:lines="1" android:singleLine="true" android:text="(s)" /> </LinearLayout>
但是……请记住,我改变了LinearLayout的宽度:
android:layout_width="0dp" android:layout_weight="1"
至
android:layout_width="wrap_content"
这是答案中非常重要的一部分.
[[short text][(s)]] [[slightly longer text][(s)]] [[really long ...ng text][(s)]]
它正确管理椭圆化,但不能引入“空视图”(____).如果我没有更改LinearLayout的layout_width,则椭圆化将正常工作((s)不会被推离屏幕),但文本对齐不正确.它看起来像这样:
[[short text ][(s)]] [[slightly longer text ][(s)]] [[really long ...ng text][(s)]]
因此,如果需要“空视图”,则需要实现它(例如),将LinearLayout嵌套在另一个内(并且这次“空视图”将是一个实际的视图).像这样:
<LinearLayout android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="1"> <LinearLayout android:layout_width="wrap_content" android:layout_height="wrap_content" android:orientation="horizontal"> <TextView android:id="@+id/variable-size" android:layout_width="0dp" android:layout_weight="1" android:layout_height="wrap_content" android:ellipsize="middle" android:lines="1" android:singleLine="true" android:text="short text" /> <TextView android:id="@+id/fixed-size" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center_vertical" android:ellipsize="none" android:lines="1" android:singleLine="true" android:text="(s)" /> </LinearLayout> <View android:id="@+id/empty_view" android:layout_width="0dp" android:layout_height="0dp" android:layout_weight="1" /> </LinearLayout>
这将给您以下行为:
[[[short text][(s)]]____________] [[[slightly longer text][(s)]]__] [[[really long ...ng text][(s)]]]
以上是大佬教程为你收集整理的Android布局:如何保持最右边的文本元素和椭圆化最左边的文本元素?全部内容,希望文章能够帮你解决Android布局:如何保持最右边的文本元素和椭圆化最左边的文本元素?所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。