2015-12-23 85 views
0

我是全新的UI旅館android的設計。我在下面的圖像中有3個路線問題: 1.我希望旋轉左側和右側將在「選擇照片」的下方。 2.出於某種原因,靠近移動編輯文本的旋轉器不在移動編輯文本的對齊位置。 3.「創建帳戶」按鈕應位於屏幕的底部。但即使當我添加以下行:如何將小部件對齊到其他小部件

android:layout_alignParentBottom="true" 

什麼都沒有happennd。

這是我在我的設備得到: enter image description here

這是XML代碼:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
xmlns:tools="http://schemas.android.com/tools" 
android:layout_width="match_parent" 
android:layout_height="match_parent" 
android:orientation="vertical" 
android:background="#ffffffff" 
tools:context="com.example.matant.gpsportclient.Controllers.Register"> 


<RelativeLayout 
    android:layout_width="match_parent" 
    android:id="@+id/submainLayout" 
    android:layout_margin="10dp" 
    android:layout_height="match_parent"> 

    <ImageView 
     android:src="@drawable/camera" 
     android:layout_width="120dp" 
     android:layout_height="120dp" 
     android:id="@+id/imageViewGallery" 
     android:layout_alignParentTop="true" 
     android:layout_alignParentLeft="true" 
     android:background="@drawable/border" 
     android:padding="1dp" 
     android:scaleType="centerCrop" 
     android:adjustViewBounds="true" 
     android:layout_alignParentStart="true" /> 

    <TableRow 
     android:layout_width="match_parent" 
     android:id="@+id/signupRow1" 
     android:layout_height="wrap_content"> 

     <EditText 
      android:layout_width="match_parent" 
      android:layout_height="40dp" 
      android:inputType="textPersonName" 
      android:ems="10" 
      android:id="@+id/editTextName" 
      android:hint="Name" 
      android:background="@drawable/rounded_edit_text" 
      android:paddingLeft="10dp" 
      android:layout_marginTop="160dp" 
      android:layout_alignParentRight="true" 
      android:layout_alignParentEnd="true" 
      android:layout_alignParentLeft="true" 
      android:layout_alignParentStart="true" /> 



    </TableRow> 

    <TableRow 
     android:layout_width="match_parent" 
     android:id="@+id/signupRow2" 
     android:layout_below="@+id/signupRow1" 
     android:layout_marginTop="5dp" 
     android:layout_height="wrap_content"> 

     <EditText 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:inputType="textEmailAddress" 
      android:ems="10" 
      android:id="@+id/editTextEmail" 
      android:background="@drawable/rounded_edit_text" 
      android:padding="10dp" 

      android:layout_alignParentLeft="true" 
      android:layout_alignParentStart="true" 
      android:layout_alignParentRight="true" 
      android:layout_alignParentEnd="true" 
      android:hint="Email" 
      /> 

    </TableRow> 

    <TableRow 
     android:layout_width="match_parent" 
     android:id="@+id/signupRow3" 
     android:layout_marginTop="5dp" 
     android:layout_below="@+id/signupRow2" 
     android:layout_height="wrap_content"> 

     <Spinner 
      android:layout_width="0dp" 
      android:layout_height="match_parent" 
      android:id="@+id/spinnerMobile" 
      android:layout_marginRight="5dp" 
      android:layout_alignParentLeft="true" 
      android:layout_alignParentStart="true" 
      android:spinnerMode="dialog" 
      android:layout_marginBottom="5dp" 

      android:background="#606060" 
      android:layout_toLeftOf="@+id/buttonSelectImg" 
      android:layout_toStartOf="@+id/buttonSelectImg" 
      android:layout_below="@+id/editTextEmail" 
      android:layout_alignBottom="@+id/editTextMobile" 
      android:layout_weight="21.24" /> 

     <EditText 
      android:layout_width="0dp" 
      android:layout_height="match_parent" 
      android:inputType="phone" 
      android:ems="10" 
      android:id="@+id/editTextMobile" 
      android:paddingLeft="5dp" 
      android:layout_marginTop="5dp" 
      android:background="@drawable/rounded_edit_text" 
      android:hint="Mobile" 
      android:layout_weight="40.74" /> 



    </TableRow> 



    <TableRow 
     android:layout_width="match_parent" 
     android:id="@+id/signupRow4" 
     android:layout_marginTop="5dp" 
     android:layout_below="@+id/signupRow3" 
     android:layout_height="wrap_content"> 

     <EditText 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:inputType="textPassword" 
      android:ems="10" 
      android:background="@drawable/rounded_edit_text" 
      android:id="@+id/editTextPassword" 
      android:paddingLeft="5dp" 
      android:hint="Password" 

      android:fontFamily="sans-serif" 
      /> 

    </TableRow> 

    <TableRow 
     android:layout_width="match_parent" 
     android:id="@+id/signupRow5" 
     android:layout_marginTop="5dp" 
     android:layout_below="@+id/signupRow4" 
     android:layout_height="wrap_content"> 

     <EditText 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:inputType="textPassword" 
      android:ems="10" 
      android:background="@drawable/rounded_edit_text" 
      android:id="@+id/editTextConfirmPass" 
      android:hint="Confirm Password" 
      android:paddingLeft="5dp" 
      android:fontFamily="sans-serif" 
      /> 

    </TableRow> 


    <TableRow 
     android:layout_width="match_parent" 
     android:id="@+id/signupRow6" 
     android:layout_marginTop="5dp" 
     android:layout_below="@+id/signupRow5" 
     android:layout_height="wrap_content"> 

     <TextView 
      android:layout_width="0dp" 
      android:layout_height="wrap_content" 
      android:textAppearance="?android:attr/textAppearanceMedium" 
      android:text="Gender:" 
      android:id="@+id/textViewGender" 
      android:layout_gravity="left|top" 
      android:layout_weight="5.18" /> 

     <Spinner 
      android:layout_width="129dp" 
      android:layout_height="30dp" 
      android:id="@+id/spinnerGender" 
      android:background="#606060" 
      android:layout_weight="2.84" /> 



    </TableRow> 


    <TableRow 
     android:layout_width="match_parent" 
     android:id="@+id/signupRow7" 
     android:layout_marginTop="5dp" 
     android:layout_below="@+id/signupRow6" 
     android:layout_height="wrap_content" 
     android:baselineAligned="false"> 

     <TextView 
      android:layout_width="0dp" 
      android:layout_height="wrap_content" 
      android:textAppearance="?android:attr/textAppearanceMedium" 
      android:text="Year of Birth:" 
      android:id="@+id/textViewyearOfBirth" 
      android:layout_weight="5.18" /> 



     <Spinner 
      android:layout_width="129dp" 
      android:layout_height="30dp" 
      android:id="@+id/spinnerAge" 

      android:layout_marginLeft="10dp" 
      android:background="#606060" 
      android:layout_weight="3.14" /> 

    </TableRow> 





    <TableRow 
     android:layout_width="match_parent" 
     android:id="@+id/signupRow8" 
     android:layout_marginTop="5dp" 
     android:layout_toRightOf="@+id/imageViewGallery" 
     android:layout_below="@+id/rotateLayout" 
     android:layout_height="wrap_content"> 

     <Button 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:text="Select Photo" 
      android:id="@+id/buttonSelectImg" 

      android:layout_marginTop="5dp" 
      android:background="#606060" 
      android:textColor="#ffffffff" 
      android:layout_marginLeft="5dp" 
      android:layout_margin="10dp" 

      android:layout_weight="1" /> 
    </TableRow> 

    <TableRow 
     android:layout_width="match_parent" 
     android:id="@+id/signupRow9" 
     android:layout_below="@+id/signupRow8" 
     android:layout_height="wrap_content" 
     android:layout_toEndOf="@+id/imageViewGallery"> 


    </TableRow> 


    <RelativeLayout 
     android:layout_height="wrap_content" 
     android:layout_width="123dp" 
     android:background="#606060" 
     android:layout_marginLeft="5dp" 
     android:id="@+id/rotateLayout" 

     android:layout_toRightOf="@+id/imageViewGallery"> 
     <ImageButton 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:id="@+id/imageButtonRleftt" 
      android:background="@drawable/rotate_left" 
      android:layout_gravity="center" 
      android:layout_alignParentTop="true" 
      android:layout_alignParentLeft="true" 
      android:layout_alignParentStart="true" /> 

     <ImageButton 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:id="@+id/imageButtonRright" 
      android:background="@drawable/rotate_right" 
      android:onClick="rottateRight" 
      android:layout_gravity="center" 
      android:layout_alignParentTop="true" 
      android:layout_alignParentRight="true" 
      android:layout_alignParentEnd="true" /> 

    </RelativeLayout> 

    <Button 
     android:id="@+id/ButtonSubmit" 
     android:text="Create Account" 
     android:layout_width="match_parent" 
     android:background="#606060" 
     android:textColor="#ffffffff" 
     android:layout_alignParentBottom="true" 
     android:layout_below="@+id/signupRow7" 
     android:layout_height="50dp" 
     android:layout_margin="5dp" 
     > 

    </Button> 

</RelativeLayout> 

回答

1
  1. 只需將兩個drawable的寬度設置爲「wrap_content」並刪除weight屬性即可。然後重力屬性添加到錶行是這樣的:

    <TableRow 
        android:layout_width="match_parent" 
        android:id="@+id/signupRow9" 
        android:layout_marginTop="5dp" 
        android:layout_below="@+id/signupRow8" 
        android:layout_height="wrap_content" 
        android:layout_toEndOf="@+id/imageViewGallery" 
        android:gravity="center"> 
    
        <ImageButton 
         android:layout_width="wrap_content" 
         android:layout_height="wrap_content" 
         android:id="@+id/imageButtonRleftt" 
         android:src="@drawable/rotate_right"/> 
    
        <ImageButton 
         android:layout_width="wrap_content" 
         android:layout_height="wrap_content" 
         android:id="@+id/imageButtonRright" 
         android:src="@drawable/rotate_right" 
         android:onClick="rottateRight"/> 
    </TableRow> 
    

  2. 最簡單的方法是爲你的TableRow來定義一個靜態的高度,然後爲您的微調高度屬性, edittext改爲「match_parent」。另一種方法是以編程方式獲取edittext的高度,然後在運行時設置微調器的高度。我會推薦第二種方法,因爲它對於不同的設備看起來更好。

  3. 您正在使用錯誤的屬性。嘗試使用android:layout_alignParentTop =「true」將視圖設置爲頂部。

+0

我在第3部分中犯了錯誤,它應該位於底部。 –

+0

在圖片上的按鈕是在底部 – RyuZz

+0

現在看圖片。按鈕高度比他應該大得多。 –

1

對於

1)使用單一/單獨的表佈局並使用colspan屬性將第一行添加爲「SELECT PHOTO」,對於第二行添加使用weight Attribute的按鈕。

2)而不是使用warpcontent他們都設置layout_height =「50dp」或任何東西,這樣它就像高度方面的其他小部件。

3)直接使用CreateAccount小部件,無需使用此屬性的表格android:layout_alignParentTop =「true」,使得此小部件的父級爲Relativelayout。

+0

爲您的答案約3我得到的那個按鈕的位置是在它不應該是底部? –

+0

當我使用android:layout_alignParentBottom =「true」時,我得到了這個按鈕的高度是「出生年份」到屏幕底部之間的所有空白 –

+0

@matant我沒有得到你可以請分享截圖並從該圖像解釋我或告訴我什麼是您的CreateAccount按鈕的要求。 – srinivas

相關問題