【问题标题】:Align LinearLayout elements with elements from another LinearLayout将 LinearLayout 元素与另一个 LinearLayout 中的元素对齐
【发布时间】:2016-05-22 12:42:48
【问题描述】:

下午好,

我正在尝试这样倒计时:

为此,我制作了两个水平线性布局,一个用于数值,另一个放置在下方,用于标签,例如“DAYS”或“HOURS”。

我的目标是在数值中间对齐标签,如图所示,但我不知道该怎么做,这是我的代码:

<!-- NUMERIC VALUES -->
<LinearLayout
    android:id="@+id/countdown_numbers"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_gravity="top|center"
    android:orientation="horizontal">

    <TextView
        android:id="@+id/days"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textAppearance="?attr/textAppearanceListItem"
        android:drawablePadding="10dp"
        android:textColor="@color/white"
        android:text="00"
        android:textSize="58sp"
        android:fontFamily="sans-serif-regular"
        android:layout_marginRight="9dp"
        android:layout_marginBottom="30sp"/>

    <TextView
        android:id="@+id/hours"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textAppearance="?attr/textAppearanceListItem"
        android:layout_toRightOf="@id/days"
        android:drawablePadding="10dp"
        android:textColor="@color/white"
        android:text="00"
        android:textSize="58sp"
        android:fontFamily="sans-serif-regular"
        android:paddingRight="@dimen/padding_countdown"
        android:paddingLeft="@dimen/padding_countdown"
        android:layout_marginRight="@dimen/margin_right"/>

    <TextView
        android:id="@+id/minutes"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textAppearance="?attr/textAppearanceListItem"
        android:layout_toRightOf="@id/hours"
        android:textColor="@color/white"
        android:drawablePadding="10dp"
        android:text="00"
        android:textSize="58sp"
        android:fontFamily="sans-serif-regular"
        android:paddingRight="@dimen/padding_countdown"
        android:paddingLeft="@dimen/padding_countdown"
        android:layout_marginRight="@dimen/margin_right"/>

    <TextView
        android:id="@+id/seconds"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textAppearance="?attr/textAppearanceListItem"
        android:layout_toRightOf="@id/hours"
        android:textColor="@color/white"
        android:drawablePadding="10dp"
        android:text="00"
        android:textSize="58sp"
        android:fontFamily="sans-serif-regular"
        android:paddingRight="@dimen/padding_countdown"
        android:paddingLeft="@dimen/padding_countdown"/>

</LinearLayout>

<!-- LABELS -->
<LinearLayout
    android:id="@+id/countdown_label"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_gravity="center"
    android:layout_below="@+id/countdown_numbers">

    <TextView
        android:id="@+id/days_label"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textAppearance="?attr/textAppearanceListItem"
        android:drawablePadding="10dp"
        android:text="@string/days_label"
        android:textColor="@color/white"
        android:textSize="18sp"
        android:fontFamily="sans-serif-regular"
        android:layout_below="@+id/days" />

    <TextView
        android:id="@+id/hours_label"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textAppearance="?attr/textAppearanceListItem"
        android:drawablePadding="10dp"
        android:text="@string/hours_label"
        android:textColor="@color/white"
        android:textSize="18sp"
        android:fontFamily="sans-serif-regular"
        android:gravity="center"
        android:layout_below="@+id/hours"
        android:layout_alignRight="@+id/hours"
        android:layout_alignEnd="@+id/hours"
        android:layout_toRightOf="@+id/days"
        android:layout_toEndOf="@+id/days" />

    <TextView
        android:id="@+id/minutes_label"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textAppearance="?attr/textAppearanceListItem"
        android:drawablePadding="10dp"
        android:text="@string/minutes_label"
        android:textColor="@color/white"
        android:textSize="18sp"
        android:fontFamily="sans-serif-regular"
        android:gravity="center"
        android:layout_below="@+id/minutes"
        android:layout_alignRight="@+id/minutes"
        android:layout_alignEnd="@+id/minutes"
        android:layout_toEndOf="@+id/hours"
        android:layout_toRightOf="@+id/hours" />

    <TextView
        android:id="@+id/seconds_label"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textAppearance="?attr/textAppearanceListItem"
        android:drawablePadding="10dp"
        android:text="@string/seconds_label"
        android:textColor="@color/white"
        android:textSize="18sp"
        android:fontFamily="sans-serif-regular"
        android:gravity="center"
        android:layout_below="@+id/seconds"
        android:layout_alignRight="@+id/seconds"
        android:layout_alignEnd="@+id/seconds"
        android:layout_toEndOf="@+id/minutes"
        android:layout_toRightOf="@+id/minutes" />
</LinearLayout>

但是不行,标签不在数值中间。

你能帮帮我吗?

谢谢!

【问题讨论】:

    标签: android xml android-layout android-linearlayout


    【解决方案1】:

    要实现这一点,您可以使用android:layout_weight

    这是他为您的案例提供的完整 xml 示例。

    <?xml version="1.0" encoding="utf-8"?>
    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="match_parent"
        android:layout_height="match_parent">
    
        <LinearLayout
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_centerInParent="true"
            android:orientation="horizontal">
    
            <RelativeLayout
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_weight="1">
    
                <TextView
                    android:id="@+id/txtDays"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_centerHorizontal="true"
                    android:text="22" />
    
                <TextView
                    android:id="@+id/txtDayText"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_below="@id/txtDays"
                    android:layout_centerHorizontal="true"
                    android:text="days" />
            </RelativeLayout>
    
            <RelativeLayout
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_weight="1">
    
                <TextView
                    android:id="@+id/txtHours"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_centerHorizontal="true"
                    android:text="20" />
    
                <TextView
                    android:id="@+id/txtHourText"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_below="@id/txtHours"
                    android:layout_centerHorizontal="true"
                    android:text="hour" />
            </RelativeLayout>
    
            <RelativeLayout
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_weight="1">
    
                <TextView
                    android:id="@+id/txtMinutes"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_centerHorizontal="true"
                    android:text="20" />
    
                <TextView
                    android:id="@+id/txtMinuteText"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_below="@id/txtMinutes"
                    android:layout_centerHorizontal="true"
                    android:text="minutes" />
    
            </RelativeLayout>
    
            <RelativeLayout
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_weight="1">
    
                <TextView
                    android:id="@+id/txtSeconds"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_centerHorizontal="true"
                    android:text="20" />
    
                <TextView
                    android:id="@+id/txtSecondsText"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_below="@id/txtSeconds"
                    android:layout_centerHorizontal="true"
                    android:text="seconds" />
    
            </RelativeLayout>
    
        </LinearLayout>
    </RelativeLayout>
    

    截图:

    【讨论】:

      猜你喜欢
      • 2023-03-27
      • 1970-01-01
      • 2014-01-10
      • 1970-01-01
      • 2023-03-18
      • 1970-01-01
      • 2014-11-30
      • 1970-01-01
      • 2021-10-21
      相关资源
      最近更新 更多