簡體   English   中英

Android TextView布局挑戰

[英]Android TextView layout challenge

期望的結果:

[<text-view-1><text-view-2><text-view-3><space><text-view-4><text-view-5>]
  • text-view-5是固定長度,右對齊,可以是VISIBLEGONE
  • text-view-4是固定長度,右對齊text-view-4的左側,始終為VISIBLE 如果text-view-5GONE則保持在右側。
  • text-view-1是固定長度,始終為VISIBLE ,絕對不能為橢圓形。
  • text-view-2可變長度的,始終為VISIBLE ,如果沒有足夠的空間,則應在末尾將其省略。
  • text-view-3是固定長度,始終為VISIBLE ,絕對不能為橢圓形。
  • space是可變寬度,始終VISIBLE ,應填充text-view-3text-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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM