gpt4 book ai didi

android - 将 LinearLayout 元素与来自另一个 LinearLayout 的元素对齐

转载 作者:数据小太阳 更新时间:2023-10-29 02:34:03 28 4
gpt4 key购买 nike

下午好

我正在尝试像这样进行倒计时:

enter image description here

为此,我制作了两个水平的 LinearLayout,一个用于数值,另一个放置在下方,用于标签,例如“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: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>

截图:

enter image description here

关于android - 将 LinearLayout 元素与来自另一个 LinearLayout 的元素对齐,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37374516/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com