2015-12-23 82 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

相关问题