[英]Android TextView layout challenge
期望的結果:
[<text-view-1><text-view-2><text-view-3><space><text-view-4><text-view-5>]
text-view-5
是固定長度,右對齊,可以是VISIBLE
或GONE
。 text-view-4
是固定長度,右對齊text-view-4
的左側,始終為VISIBLE
。 如果text-view-5
為GONE
則保持在右側。 text-view-1
是固定長度,始終為VISIBLE
,絕對不能為橢圓形。 text-view-2
是可變長度的,始終為VISIBLE
,如果沒有足夠的空間,則應在末尾將其省略。 text-view-3
是固定長度,始終為VISIBLE
,絕對不能為橢圓形。 space
是可變寬度,始終VISIBLE
,應填充text-view-3
和text-view-4
之間的空間。 最近的我能得到如以下,其中省略了space
,不必要地擴大text-view-2
還正常需要時ellipsizes,但疊加text-view-3
至左text-view-4
<LinearLayout
android:layout_width="match_parent"
android:layout_height="@dimen/fixed_height"
android:orientation="horizontal">
<!-- text-view-1 -->
<TextView
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_marginEnd="5dp"
android:ellipsize="none"
android:gravity="center_vertical"
android:singleLine="true"
android:text="@string/text_view_1_fixed_content" />
<!-- text-view-2 -->
<TextView
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1.0"
android:ellipsize="end"
android:gravity="center_vertical"
android:singleLine="true"
android:text="@string/to_be_set_in_runtime" />
<!-- text-view-3 -->
<TextView
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_marginStart="5dp"
android:ellipsize="none"
android:gravity="center_vertical"
android:singleLine="true"
android:text="@string/text_view_3_fixed_content" />
<!-- text-view-4 -->
<TextView
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:ellipsize="none"
android:gravity="center_vertical"
android:singleLine="true"
android:text="@string/text_view_4_fixed_content" />
<!-- text-view-5 -->
<TextView
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_marginStart="5dp"
android:ellipsize="none"
android:gravity="center_vertical"
android:singleLine="true"
android:text="@string/text_view_5_fixed_content" />
</LinearLayout>
沒有填寫所有細節,但是我將使用相對布局來簡化基本格式。
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="match_parent">
<TextView
android:id="@+id/text_view_5"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_alignParentRight="true"
android:ellipsize="none"
android:gravity="center_vertical"
android:singleLine="true"
android:text="View5" />
<TextView
android:id="@+id/text_view_4"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_toLeftOf="@id/text_view_5"
android:ellipsize="none"
android:gravity="center_vertical"
android:singleLine="true"
android:text="View4" />
<TextView
android:id="@+id/text_view_1"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_alignParentLeft="true"
android:ellipsize="none"
android:gravity="center_vertical"
android:singleLine="true"
android:text="View1" />
<TextView
android:id="@+id/text_view_2"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_toRightOf="@id/text_view_1"
android:ellipsize="none"
android:gravity="center_vertical"
android:singleLine="true"
android:text="View2" />
<TextView
android:id="@+id/text_view_3"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_toRightOf="@id/text_view_2"
android:layout_toLeftOf="@id/text_view_3"
android:ellipsize="none"
android:gravity="center_vertical"
android:singleLine="true"
android:text="View3" />
</RelativeLayout>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.