下午好,
我正在尝试这样的倒计时:
为此,我制作了两个水平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>
但它不起作用,标签不在数值的中间。
你能帮帮我吗?
谢谢!
答案 0 :(得分:2)
要实现这一点,您可以使用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>
截图: