【问题标题】:Unable to show the elements in a single line in a layout无法在布局的单行中显示元素
【发布时间】:2019-05-30 05:18:26
【问题描述】:

我的Android布局如下:

<LinearLayout
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginTop="2dp"
            android:orientation="horizontal">
            <TextView
                android:id="@+id/notification_content"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_gravity="left|bottom"
                android:layout_marginEnd="1dp"
                android:ellipsize="end"
                android:fadingEdge="horizontal"
                android:maxLines="4"
                android:singleLine="false"
                android:textAppearance="@style/Ds6"
                android:textColor="@color/notification_ds6_secondary_text"
                tools:text="Watched item ends in 6 minutes in "
                android:visibility="visible"
                tools:ignore="Deprecated"/>

            <Chronometer
                android:id="@+id/notification_countdown"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_gravity="bottom"
                android:gravity="left|bottom"
                android:maxLines="1"
                android:textAppearance="@style/Ds6"
                android:textColor="@color/notification_ds6_secondary_text"
                android:textSize="@dimen/TextSizeSmall"
                android:visibility="visible"
                tools:text="10:02 AM" />

            <Chronometer
                android:id="@+id/notification_countdown_60s"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_gravity="left|bottom"
                android:gravity="left"
                android:maxLines="1"
                android:textColor="@color/alert_color"
                android:textAppearance="@style/Ds6"
                android:textSize="@dimen/TextSizeSmall"
                android:visibility="visible"
                tools:text="10:02 AM" />
            <TextView
                android:id="@+id/notification_time_expired"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_gravity="left|bottom"
                android:text="00:00"
                android:textColor="@color/notification_ds6_disabled_text"
                android:textAppearance="@style/Ds6"
                android:textSize="@dimen/TextSizeSmall"
                android:visibility="visible" />
            </LinearLayout>

我希望文本视图内容正确换行,以适应 Chronometer #1、Chrometer #2 和 Chronometer #3 显示在一行上。较长的文本字符串不会发生这种情况。

但是如果我如下所示减少文本字符串的长度,我可以在一行中看到所有元素。如何在一行中显示所有元素?我希望文本换行,但两个计时器和文本视图 #2 必须与第一个文本视图位于同一行。

这将显示在通知远程视图中,所以我不能使用 ConstraintLayout。我只能使用 FrameLayout、RelativeLayout 和 LinearLayout。

【问题讨论】:

    标签: android android-layout android-linearlayout


    【解决方案1】:

    尝试在您的notification_content TextView 中设置android:layout_width="0dp"android:layout_weight="1"

    试试这个方法

    <LinearLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginTop="2dp"
        android:orientation="horizontal">
        <TextView
            android:id="@+id/notification_content"
            android:layout_width="0dp"
            android:layout_weight="1"
            android:layout_height="wrap_content"
            android:layout_gravity="left|bottom"
            android:layout_marginEnd="1dp"
            android:ellipsize="end"
            android:fadingEdge="horizontal"
            android:maxLines="4"
            android:singleLine="false"
            android:textColor="@color/colorPrimary"
            tools:text="Watched item ends in 6 minutes in "
            android:visibility="visible"
            tools:ignore="Deprecated"/>
    
        <Chronometer
            android:id="@+id/notification_countdown"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_gravity="bottom"
            android:gravity="left|bottom"
            android:maxLines="1"
            android:textColor="@color/colorPrimary"
            android:visibility="visible"
            tools:text="10:02 AM" />
    
        <Chronometer
            android:id="@+id/notification_countdown_60s"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_gravity="left|bottom"
            android:gravity="left"
            android:maxLines="1"
            android:textColor="@color/colorAccent"
            android:visibility="visible"
            tools:text="10:02 AM" />
        <TextView
            android:id="@+id/notification_time_expired"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_gravity="left|bottom"
            android:text="00:00"
            android:textColor="@color/colorPrimary"
            android:visibility="visible" />
    </LinearLayout>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-01-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多