2016-05-22 19 views
3

Guten Tag,ausrichten Linearlayout Elemente mit Elementen aus anderen Linearlayout

ich so einen Countdown zu tun versuche:

enter image description here

, es zu tun, machte ich zwei horizontale Linearlayout, eine für die numerische Werte und die anderen, darunter, für die Etiketten, wie "DAYS" oder "HOURS".

Mein Ziel ist es Etikett in der Mitte der numerischen Werte auszurichten, wie im Bild, aber ich weiß nicht, wie es zu tun, hier ist mein Code:

<!-- 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> 

Aber es funktioniert nicht , die Beschriftungen befinden sich nicht in der Mitte der numerischen Werte.

Können Sie mir bitte helfen?

Vielen Dank!

Antwort

2

Um dies zu erreichen, können Sie android:layout_weight verwenden.

Hier seine eine vollständige XML-Probe für Ihren Fall.

<?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> 

Screenshot:

enter image description here