如何在android中使用RelativeLayout?

如何在android中使用RelativeLayout?,android,android-layout,android-linearlayout,android-relativelayout,Android,Android Layout,Android Linearlayout,Android Relativelayout,我有一个包含许多编辑文本、按钮和文本视图的相对布局,我将它们安排在4个线性布局中,作为RelativeLayout的孩子。问题是,如果我使用不同大小的屏幕,线性布局不在我放置它们的同一位置,我无法使其工作。如何处理这个问题?这是我保存的medii.xml文件的代码: <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/an

我有一个包含许多编辑文本、按钮和文本视图的相对布局,我将它们安排在4个线性布局中,作为RelativeLayout的孩子。问题是,如果我使用不同大小的屏幕,线性布局不在我放置它们的同一位置,我无法使其工作。如何处理这个问题?这是我保存的medii.xml文件的代码:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:background="@drawable/mediib" >

    <LinearLayout
        android:id="@+id/linearLayout1"
        android:layout_width="160dp"
        android:layout_height="200dp"
        android:layout_alignParentLeft="true"
        android:layout_alignParentTop="true"
        android:layout_marginLeft="37dp"
        android:layout_marginTop="255dp"
        android:orientation="vertical" >

        <EditText
            android:id="@+id/editText1"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:background="@drawable/nota2"
            android:gravity="center"
            android:hint="@string/nota"
            android:inputType="number"
            android:textColorHint="@color/white" />

        <Button
            android:id="@+id/button2"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:background="@drawable/bb" />

        <Button
            android:id="@+id/button1"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:background="@drawable/bbc" />

        <TextView
            android:id="@+id/textView1"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:gravity="center"
            android:text="TextView"
            android:textColor="@color/white"
            android:textSize="25sp" />
    </LinearLayout>

    <LinearLayout
        android:id="@+id/linearLayout3"
        android:layout_width="160dp"
        android:layout_height="200dp"
        android:layout_alignParentRight="true"
        android:layout_alignTop="@+id/linearLayout1"
        android:layout_marginRight="33dp"
        android:orientation="vertical" >

        <EditText
            android:id="@+id/EditText02"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:background="@drawable/nota2"
            android:gravity="center"
            android:hint="@string/nota"
            android:inputType="number"
            android:textColorHint="@color/white" >

            <requestFocus />
        </EditText>

        <EditText
            android:id="@+id/EditText01"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:background="@drawable/nota2"
            android:gravity="center"
            android:hint="@string/teze"
            android:inputType="number"
            android:textColorHint="@color/white" />

        <Button
            android:id="@+id/Button02"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:background="@drawable/bb" />

        <Button
            android:id="@+id/Button01"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:background="@drawable/bbc" />

        <TextView
            android:id="@+id/TextView01"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:gravity="center"
            android:text="TextView"
            android:textColor="@color/white"
            android:textSize="25sp" />
    </LinearLayout>

    <LinearLayout
        android:id="@+id/linearLayout4"
        android:layout_width="160dp"
        android:layout_height="200dp"
        android:layout_alignLeft="@+id/linearLayout3"
        android:layout_alignParentBottom="true"
        android:layout_marginBottom="45dp"
        android:orientation="vertical" >

        <EditText
            android:id="@+id/EditText03"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:background="@drawable/nota2"
            android:gravity="center"
            android:hint="@string/nota"
            android:inputType="number"
            android:textColorHint="@color/white" />

        <Button
            android:id="@+id/Button06"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:background="@drawable/bb" />

        <Button
            android:id="@+id/Button05"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:background="@drawable/bbc" />

        <TextView
            android:id="@+id/TextView03"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:gravity="center"
            android:text="TextView"
            android:textColor="@color/white"
            android:textSize="25sp" />
    </LinearLayout>

    <LinearLayout
        android:id="@+id/linearLayout2"
        android:layout_width="160dp"
        android:layout_height="200dp"
        android:layout_alignLeft="@+id/linearLayout1"
        android:layout_alignTop="@+id/linearLayout4"
        android:orientation="vertical" >

        <EditText
            android:id="@+id/EditText04"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:background="@drawable/nota2"
            android:gravity="center"
            android:hint="@string/nota"
            android:inputType="number"
            android:textColorHint="@color/white" />

        <Button
            android:id="@+id/Button04"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:background="@drawable/bb" />

        <Button
            android:id="@+id/Button03"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:background="@drawable/bbc" />

        <TextView
            android:id="@+id/TextView02"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:gravity="center"
            android:text="TextView"
            android:textColor="@color/white"
            android:textSize="25sp" />
    </LinearLayout>

</RelativeLayout>

我想要的:我想要保持我在所有尺寸屏幕上的排列

布局的外观:


试试这样的方法。我的建议是远离“神奇”的边距和填充数字,比如255 dp等等。尝试对中元素

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

    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:orientation="horizontal"
        android:weightSum="2" >

        <LinearLayout
            android:id="@+id/linearLayout1"
            android:layout_width="160dp"
            android:layout_height="200dp"
            android:layout_marginLeft="37dp"
            android:layout_marginTop="255dp"
            android:layout_weight="1"
            android:orientation="vertical" >

            <EditText
                android:id="@+id/editText1"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:background="@drawable/nota2"
                android:gravity="center"
                android:hint="@string/nota"
                android:inputType="number"
                android:textColorHint="@color/white" />

            <Button
                android:id="@+id/button2"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:background="@drawable/bb" />

            <Button
                android:id="@+id/button1"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:background="@drawable/bbc" />

            <TextView
                android:id="@+id/textView1"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:gravity="center"
                android:text="TextView"
                android:textColor="@color/white"
                android:textSize="25sp" />
        </LinearLayout>

        <LinearLayout
            android:id="@+id/linearLayout3"
            android:layout_width="160dp"
            android:layout_height="200dp"
            android:layout_marginRight="33dp"
            android:layout_weight="1"
            android:orientation="vertical" >

            <EditText
                android:id="@+id/EditText02"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:background="@drawable/nota2"
                android:gravity="center"
                android:hint="@string/nota"
                android:inputType="number"
                android:textColorHint="@color/white" >

                <requestFocus />
            </EditText>

            <EditText
                android:id="@+id/EditText01"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:background="@drawable/nota2"
                android:gravity="center"
                android:hint="@string/teze"
                android:inputType="number"
                android:textColorHint="@color/white" />

            <Button
                android:id="@+id/Button02"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:background="@drawable/bb" />

            <Button
                android:id="@+id/Button01"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:background="@drawable/bbc" />

            <TextView
                android:id="@+id/TextView01"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:gravity="center"
                android:text="TextView"
                android:textColor="@color/white"
                android:textSize="25sp" />
        </LinearLayout>
    </LinearLayout>

    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:orientation="horizontal"
        android:weightSum="2" >

        <LinearLayout
            android:id="@+id/linearLayout4"
            android:layout_width="160dp"
            android:layout_height="200dp"
            android:layout_marginBottom="45dp"
            android:layout_weight="1"
            android:orientation="vertical" >

            <EditText
                android:id="@+id/EditText03"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:background="@drawable/nota2"
                android:gravity="center"
                android:hint="@string/nota"
                android:inputType="number"
                android:textColorHint="@color/white" />

            <Button
                android:id="@+id/Button06"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:background="@drawable/bb" />

            <Button
                android:id="@+id/Button05"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:background="@drawable/bbc" />

            <TextView
                android:id="@+id/TextView03"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:gravity="center"
                android:text="TextView"
                android:textColor="@color/white"
                android:textSize="25sp" />
        </LinearLayout>

        <LinearLayout
            android:id="@+id/linearLayout2"
            android:layout_width="160dp"
            android:layout_height="200dp"
            android:layout_weight="1"
            android:orientation="vertical" >

            <EditText
                android:id="@+id/EditText04"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:background="@drawable/nota2"
                android:gravity="center"
                android:hint="@string/nota"
                android:inputType="number"
                android:textColorHint="@color/white" />

            <Button
                android:id="@+id/Button04"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:background="@drawable/bb" />

            <Button
                android:id="@+id/Button03"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:background="@drawable/bbc" />

            <TextView
                android:id="@+id/TextView02"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:gravity="center"
                android:text="TextView"
                android:textColor="@color/white"
                android:textSize="25sp" />
        </LinearLayout>
    </LinearLayout>

</LinearLayout>

编辑:我对它进行了编辑,删除了一些图片和字符串,这样我就可以在我的eclipse中看到它,你可能想把它们添加回去。我得到了一个非常相似的外观,你正试图实现在图片中。这就是你想要达到的目标吗

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

    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:orientation="horizontal"
        android:weightSum="2" >

        <LinearLayout
            android:id="@+id/linearLayout1"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:gravity="center"
            android:orientation="vertical" >

            <EditText
                android:id="@+id/editText1"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:inputType="number"
                android:text="asd" />

            <Button
                android:id="@+id/button2"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="asd" />

            <Button
                android:id="@+id/button1"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="asd" />

            <TextView
                android:id="@+id/textView1"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="TextView"
                android:textSize="25sp" />
        </LinearLayout>

        <LinearLayout
            android:id="@+id/linearLayout3"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:gravity="center"
            android:orientation="vertical" >

            <EditText
                android:id="@+id/EditText02"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:gravity="center"
                android:inputType="number"
                android:text="asd" >
            </EditText>

            <EditText
                android:id="@+id/EditText01"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:inputType="number"
                android:text="asd" />

            <Button
                android:id="@+id/Button02"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="asd" />

            <Button
                android:id="@+id/Button01"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="asd" />

            <TextView
                android:id="@+id/TextView01"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:gravity="center"
                android:text="TextView"
                android:textSize="25sp" />
        </LinearLayout>
    </LinearLayout>

    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:orientation="horizontal"
        android:weightSum="2" >

        <LinearLayout
            android:id="@+id/linearLayout4"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:gravity="center"
            android:orientation="vertical" >

            <EditText
                android:id="@+id/EditText03"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:gravity="center"
                android:inputType="number"
                android:text="asd" />

            <Button
                android:id="@+id/Button06"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="asd" />

            <Button
                android:id="@+id/Button05"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="asd" />

            <TextView
                android:id="@+id/TextView03"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:gravity="center"
                android:text="TextView"
                android:textSize="25sp" />
        </LinearLayout>

        <LinearLayout
            android:id="@+id/linearLayout2"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:gravity="center"
            android:orientation="vertical" >

            <EditText
                android:id="@+id/EditText04"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:gravity="center"
                android:inputType="number"
                android:text="asd" />

            <Button
                android:id="@+id/Button04"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="asd" />

            <Button
                android:id="@+id/Button03"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="asd" />

            <TextView
                android:id="@+id/TextView02"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:gravity="center"
                android:text="TextView"
                android:textSize="25sp" />
        </LinearLayout>
    </LinearLayout>

</LinearLayout>


“…线性布局与我放置它们的位置不同…”您打算得到什么?具体点。我想知道我在所有尺寸的屏幕上的排列。还是不清楚,你让我们猜。通常会提供图片。我假设您的一些编辑文本、按钮和文本视图位于屏幕后面,考虑到垂直布局的数量,这是可以的。尝试使用ScrollView包装所有线性布局(作为选项)。请告诉我您现在面临的问题。据我所知,您正面临与多屏幕支持相关的问题。我在下面的问题中解释了这一点。它的位置并不完全相同,因为不同的手机有不同的分辨率。就像我之前说的,试着用按钮居中,而不是用随机的魔法数字填充和边距,以获得不同分辨率的最佳效果。我知道这不可能精确,但它甚至不好,我的意思是,有些项目不在布局上,你不能使用它们。。。关于居中,我在其他布局中使用了这种方法,我可以这样做,但是在这里,布局应该与图片中的一样,如果我可以居中,我就不会请求帮助。谢谢