如何将小部件与其他小部件对齐

时间:2015-12-23 11:16:41

标签: android

我是UI inn android的全新设计。我在下面的图像中有3个对齐问题: 1.我希望rotatte laeft和right将位于butoom“选择照片”的分数之下。 2.由于某种原因,移动编辑文本附近的微调器不在移动编辑文本的位置。 3.“创建帐户”按钮应位于屏幕底部。但即使我添加以下行:

<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>
什么都没发生。

这是我在我的设备中得到的: enter image description here

这是xml代码:

import numpy 
import matplotlib.pyplot as plt
from mpl_toolkits.basemap import Basemap

lon  =NC.variables['lon'][:]  
lat  =NC.variables['lat'][:]

m=Basemap(projection='cyl',,llcrnrlat=30,urcrnrlat=80, llcrnrlon=-40,urcrnrlon=40,resolution='c')

lons,lats=numpy.meshgrid(lon,lat)
X4,Y4=m(lons,lats)

varU=NC.variables['var1'][0,0,:,:]
varV=NC.variables['var2'][0,0,:,:]

speed=numpy.sqrt(varU*varU+varV*varV)

yy=numpy.arange(0,len(lat),3)
xx=numpy.arange(0,len(lon),3)

points=numpy.meshgrid(yy,xx)

m.quiver(X4[points],Y4[points],varU[points],varV[points],speed[points],cmap=cmap,latlon=True)
plt.show()

# with all points for comparison
m.quiver(X4,Y4,varU,varV,speed,cmap=cmap,latlon=True)
plt.show()

2 个答案:

答案 0 :(得分:1)

对于

1)使用单个/单独的表格布局,并使用colspan属性将第一行添加为“SELECT PHOTO”,对于第二行,使用权重属性添加按钮。

2)不要使用warpcontent设置layout_height =“50dp”或其他任何内容,以便在高度方面与其他小部件类似。

3)直接使用CreateAccount小部件而不使用具有此属性的tablerow:android:layout_alignParentTop =“true”,以使此小部件的父级为Relativelayout。

答案 1 :(得分:1)

  1. 只需将两个drawable的宽度设置为&#34; wrap_content&#34;并删除权重属性。然后将gravity属性添加到表行,如下所示:

    <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定义一个静态高度,然后将spinner和edittext的height属性设置为&#34; match_parent&#34;。另一种方法是以编程方式获取edittext的高度,然后在运行时设置微调器的高度。我建议使用第二种方法,因为它对于不同的设备看起来更好。

  3. 您使用了错误的属性。尝试使用android:layout_alignParentTop =&#34; true&#34;将视图设置为顶部。