Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 子视图忽略父布局,父布局包含嵌套布局,但使用它们_Android_Xml - Fatal编程技术网

Android 子视图忽略父布局,父布局包含嵌套布局,但使用它们

Android 子视图忽略父布局,父布局包含嵌套布局,但使用它们,android,xml,Android,Xml,我有一个位于父布局中的微调器,它包含微调器和嵌套的相对布局。我遇到的问题是,我似乎无法使微调器与此父布局对齐,即使指定在父布局中对齐,它仍与嵌套视图对齐 澄清一下:我的微调器与“relativeone”的左上角对齐,而不是“back_布局” 有什么想法吗 相关XML代码: <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/ap

我有一个位于父布局中的微调器,它包含微调器和嵌套的相对布局。我遇到的问题是,我似乎无法使微调器与此父布局对齐,即使指定在父布局中对齐,它仍与嵌套视图对齐

澄清一下:我的微调器与“relativeone”的左上角对齐,而不是“back_布局”

有什么想法吗

相关XML代码:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout 
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/back_layout"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:background="#000000"
    android:gravity="center"
    >

    <Spinner
        android:id="@+id/spinner"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentTop="true"
        android:layout_alignParentLeft="true"
        android:background="#FFFFFF"
        android:entries="@array/spinner"
        android:layout_alignLeft="@+id/relativeone" />

    <RelativeLayout
        android:id="@+id/relativeone"
        android:layout_width="300dp"
        android:layout_height="300dp"
        android:layout_gravity="center" 
        android:gravity="center">

        <RelativeLayout
            android:id="@+id/relativetwo"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:layout_gravity="center"
            android:gravity="center" >

            <ImageView
                android:id="@+id/imageview"
                android:layout_width="fill_parent"
                android:layout_height="fill_parent"
                android:layout_alignParentLeft="true"
                android:layout_alignParentTop="true"
                android:layout_gravity="center"
                android:scaleType="fitXY" />

            <Button
                android:id="@+id/buttonone"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_alignParentBottom="true"
                android:layout_centerHorizontal="true"
                android:text="Take Photo" />
        </RelativeLayout>
    </RelativeLayout>

</RelativeLayout>

您需要对属性进行一些小的更改,以使其正常工作

back\u布局
中删除“中心对齐”,从微调器中删除“左对齐”,然后将父对象中的“中心”添加到
relativeone

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/back_layout"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:background="#000000" >
    <Spinner
        android:id="@+id/spinner1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_alignParentTop="true" />
    <RelativeLayout
        android:id="@+id/relativeone"
        android:layout_width="300dp"
        android:layout_height="300dp"
        android:layout_centerInParent="true"
        android:layout_gravity="center"
        android:gravity="center" >
        <RelativeLayout
            android:id="@+id/relativetwo"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:layout_gravity="center"
            android:gravity="center" >
            <ImageView
                android:id="@+id/imageview"
                android:layout_width="fill_parent"
                android:layout_height="fill_parent"
                android:layout_alignParentLeft="true"
                android:layout_alignParentTop="true"
                android:layout_gravity="center"
                android:scaleType="fitXY" />
            <Button
                android:id="@+id/buttonone"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_alignParentBottom="true"
                android:layout_centerHorizontal="true"
                android:text="Take Photo" />
        </RelativeLayout>
    </RelativeLayout>
</RelativeLayout>

上述布局将为您提供以下信息:


以前我曾尝试过将back_布局更改为线性布局,但这次它似乎做了一些不同的事情。现在,它将旋转器置于relativeone下方的左侧。(我添加了布局_gravity=“顶部|左侧”给spinner。我还没有移动spinner,所以我再次不确定为什么它被画在下面而不是上面。谢谢你的帮助!@Anthaas我重新做了我的答案,使用RelativeLayout,看看这是否对你更有效。我决定,因为在这次活动中手机的握法,按钮应该在底部左其实更可取。非常感谢你的帮助!