2015-11-04 65 views
0

我正在嘗試創建一個xml頁面設計。垂直方向,我將整個屏幕分成兩個相等的部分。水平xml佈局和layout_weight不能一起工作

在下半部分,我想在底部有「Registrieren」按鈕。 顯示正確。 現在我遇到了textview和Button不在一條水平線上的問題。

我的XML代碼:

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:orientation="vertical" 
    android:background="@color/colorPrimaryLight" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:weightSum="2"> 

    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
     android:orientation="vertical" 
     android:layout_weight="1" 
     android:layout_width="fill_parent" 
     android:layout_height="fill_parent"> 

     <ImageView android:id="@+id/fragment_registration_activity_image_view" 
      android:layout_width="wrap_content" 
      android:layout_height="fill_parent" 
      android:paddingTop="20dp" 
      android:adjustViewBounds="true" 
      android:layout_gravity="center_horizontal" 
      android:src="@drawable/ic_ads" 
      /> 

    </LinearLayout> 
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
     android:orientation="vertical" 
     android:layout_weight="1" 
     android:layout_width="fill_parent" 
     android:layout_height="fill_parent"> 

     <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
      android:orientation="vertical" 
      android:weightSum="10" 
      android:layout_width="fill_parent" 
      android:layout_height="fill_parent" 
      > 

     <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
      android:orientation="horizontal" 
      android:paddingTop="20dp" 
      android:paddingLeft="20dp" 
      android:paddingRight="20dp" 
      android:layout_weight="8" 
      android:weightSum="9" 
      android:layout_width="fill_parent" 
      android:layout_height="wrap_content" 
      > 
      <TextView android:id="@+id/text" 
       android:layout_weight="6" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:textAlignment="center" 
       android:textAppearance="?android:attr/textAppearanceLarge" 
       android:layout_gravity="center" 
       android:background="@drawable/round_corner_textview" 
       android:text="Hello," /> 

      <Button 
       android:id="@+id/registration_button_scancode" 
       android:layout_weight="3" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:layout_gravity="center_horizontal" 
       android:text="QR Code Scannen" 
       /> 
     </LinearLayout> 

     <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
      android:orientation="vertical" 
      android:layout_weight="2" 
      android:layout_width="fill_parent" 
      android:layout_height="wrap_content" 
      android:paddingBottom="20dp" 
      android:paddingRight="25dp" 
      android:gravity="bottom|right"> 

      <Button 
       android:id="@+id/registration_button_finish" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:text="Registrieren" 
       /> 

     </LinearLayout> 

     </LinearLayout> 
    </LinearLayout> 

</LinearLayout> 

而且截圖它的外觀的時刻:

enter image description here

所以,我怎麼能得到的TextView和一個水平線上的按鈕?

回答

1

您需要將android:layout_gravity設置爲「center」或「center_horizo​​ntal」。你現在有一個「中心」的按鈕,它把它放在它應該是的部分的垂直中心。 TextView是「center_horizo​​ntal」,它以縱向和橫向爲中心。讓他們都統一,你會得到你想要的。

0

變化registration_button_scancodelayout_gravitycenter

有些東西一樣

<Button 
      android:id="@+id/registration_button_scancode" 
      android:layout_weight="3" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_gravity="center" 
      android:text="QR Code Scannen" 
      />