与"相对布局"相关的布局问题

时间:2015-10-17 11:47:20

标签: android

您好,我正在制作我的第一个Android程序'计算器'。我使用相对布局而不是线性布局,当我在模拟器中运行它时发现了一些问题。

1)框架没有居中在屏幕上。 2)一旦处于横向模式,数字再次向左侧而不是居中。

我尝试了很多方法,但问题仍然存在。

enter image description here enter image description here

        

        <RelativeLayout
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:layout_centerInParent="true">

            <TextView
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:textAppearance="?android:attr/textAppearanceLarge"
                android:id="@+id/textView"
                android:background="#fbf8c9"
                android:editable="true"
                android:layout_alignParentTop="true"
                android:layout_alignRight="@+id/button13"
                android:layout_alignEnd="@+id/button13"
                android:layout_marginTop="63dp" />

            <Button
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="1"
                android:id="@+id/button"
                android:layout_centerVertical="true"
                android:layout_alignParentLeft="true"
                android:layout_alignParentStart="true" />

            <Button
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="2"
                android:id="@+id/button2"
                android:layout_above="@+id/button5"
                android:layout_toRightOf="@+id/button"
                android:layout_toEndOf="@+id/button" />

            <Button
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="3"
                android:id="@+id/button3"
                android:layout_alignBottom="@+id/button2"
                android:layout_toRightOf="@+id/button2"
                android:layout_toEndOf="@+id/button2" />

            <Button
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="4"
                android:id="@+id/button4"
                android:layout_below="@+id/button"
                android:layout_alignLeft="@+id/button"
                android:layout_alignStart="@+id/button" />

            <Button
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="5"
                android:id="@+id/button5"
                android:layout_above="@+id/button8"
                android:layout_toLeftOf="@+id/button3"
                android:layout_toStartOf="@+id/button3" />

            <Button
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="6"
                android:id="@+id/button6"
                android:layout_below="@+id/button3"
                android:layout_toRightOf="@+id/button2"
                android:layout_toEndOf="@+id/button2" />

            <Button
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="7"
                android:id="@+id/button7"
                android:layout_below="@+id/button4"
                android:layout_alignLeft="@+id/button4"
                android:layout_alignStart="@+id/button4" />

            <Button
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="8"
                android:id="@+id/button8"
                android:layout_below="@+id/button4"
                android:layout_toLeftOf="@+id/button6"
                android:layout_toStartOf="@+id/button6" />

            <Button
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="9"
                android:id="@+id/button9"
                android:layout_alignBottom="@+id/button8"
                android:layout_toRightOf="@+id/button8"
                android:layout_toEndOf="@+id/button8" />

            <Button
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="0"
                android:id="@+id/button10"
                android:layout_alignTop="@+id/button12"
                android:layout_toLeftOf="@+id/button12"
                android:layout_toStartOf="@+id/button12" />

            <Button
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="+"
                android:id="@+id/button11"
                android:layout_alignTop="@+id/button10"
                android:layout_alignParentLeft="true"
                android:layout_alignParentStart="true" />

            <Button
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="-"
                android:id="@+id/button12"
                android:layout_below="@+id/button8"
                android:layout_alignRight="@+id/button9"
                android:layout_alignEnd="@+id/button9" />

            <Button
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="*"
                android:id="@+id/button13"
                android:layout_toRightOf="@+id/button3"
                android:layout_alignTop="@+id/button3"
                />

            <Button
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="/"
                android:id="@+id/button14"
                android:layout_below="@+id/button3"
                android:layout_toRightOf="@+id/button6"
                android:layout_alignTop="@+id/button6" />

            <Button
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="10"
                android:id="@+id/button15"
                android:layout_toRightOf="@+id/button9"
                android:layout_alignTop="@+id/button9" />

            <Button
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="20"
                android:id="@+id/button16"
                android:layout_alignTop="@+id/button12"
                android:layout_toRightOf="@+id/button12"
                android:layout_toEndOf="@+id/button12" />

        </RelativeLayout>
    </RelativeLayout>

请有人帮助我解决这个问题..

3 个答案:

答案 0 :(得分:1)

Try this in your xml:
 android:layout_centerInParent="true"
 android:gravity="center"
 android:layout_gravity="center"

答案 1 :(得分:1)

请尝试以下操作。

<RelativeLayout
    android:layout_width="wrap_content"
    android:layout_height="match_parent"
    android:layout_centerInParent="true"
    >

    <TextView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:textAppearance="?android:attr/textAppearanceLarge"
        android:id="@+id/textView"
        android:background="#fbf8c9"
        android:editable="true"
        android:layout_alignParentTop="true"
        android:layout_alignRight="@+id/button13"
        android:layout_alignEnd="@+id/button13"
        android:layout_marginTop="63dp" />

    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="1"
        android:id="@+id/button"
        android:layout_centerVertical="true"
        android:layout_alignParentLeft="true"
        android:layout_alignParentStart="true" />

    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="2"
        android:id="@+id/button2"
        android:layout_above="@+id/button5"
        android:layout_toRightOf="@+id/button"
        android:layout_toEndOf="@+id/button" />

    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="3"
        android:id="@+id/button3"
        android:layout_alignBottom="@+id/button2"
        android:layout_toRightOf="@+id/button2"
        android:layout_toEndOf="@+id/button2" />

    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="4"
        android:id="@+id/button4"
        android:layout_below="@+id/button"
        android:layout_alignLeft="@+id/button"
        android:layout_alignStart="@+id/button" />

    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="5"
        android:id="@+id/button5"
        android:layout_above="@+id/button8"
        android:layout_toLeftOf="@+id/button3"
        android:layout_toStartOf="@+id/button3" />

    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="6"
        android:id="@+id/button6"
        android:layout_below="@+id/button3"
        android:layout_toRightOf="@+id/button2"
        android:layout_toEndOf="@+id/button2" />

    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="7"
        android:id="@+id/button7"
        android:layout_below="@+id/button4"
        android:layout_alignLeft="@+id/button4"
        android:layout_alignStart="@+id/button4" />

    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="8"
        android:id="@+id/button8"
        android:layout_below="@+id/button4"
        android:layout_toLeftOf="@+id/button6"
        android:layout_toStartOf="@+id/button6" />

    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="9"
        android:id="@+id/button9"
        android:layout_alignBottom="@+id/button8"
        android:layout_toRightOf="@+id/button8"
        android:layout_toEndOf="@+id/button8" />

    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="0"
        android:id="@+id/button10"
        android:layout_alignTop="@+id/button12"
        android:layout_toLeftOf="@+id/button12"
        android:layout_toStartOf="@+id/button12" />

    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="+"
        android:id="@+id/button11"
        android:layout_alignTop="@+id/button10"
        android:layout_alignParentLeft="true"
        android:layout_alignParentStart="true" />

    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="-"
        android:id="@+id/button12"
        android:layout_below="@+id/button8"
        android:layout_alignRight="@+id/button9"
        android:layout_alignEnd="@+id/button9" />

    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="*"
        android:id="@+id/button13"
        android:layout_toRightOf="@+id/button3"
        android:layout_alignTop="@+id/button3"
        />

    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="/"
        android:id="@+id/button14"
        android:layout_below="@+id/button3"
        android:layout_toRightOf="@+id/button6"
        android:layout_alignTop="@+id/button6" />

    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="10"
        android:id="@+id/button15"
        android:layout_toRightOf="@+id/button9"
        android:layout_alignTop="@+id/button9" />

    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="20"
        android:id="@+id/button16"
        android:layout_alignTop="@+id/button12"
        android:layout_toRightOf="@+id/button12"
        android:layout_toEndOf="@+id/button12" />

</RelativeLayout>

答案 2 :(得分:0)

这是RelativeLayout中的常见问题,您必须使用LinearLayout