Android 子视图忽略父布局,父布局包含嵌套布局,但使用它们
我有一个位于父布局中的微调器,它包含微调器和嵌套的相对布局。我遇到的问题是,我似乎无法使微调器与此父布局对齐,即使指定在父布局中对齐,它仍与嵌套视图对齐 澄清一下:我的微调器与“relativeone”的左上角对齐,而不是“back_布局” 有什么想法吗 相关XML代码:Android 子视图忽略父布局,父布局包含嵌套布局,但使用它们,android,xml,Android,Xml,我有一个位于父布局中的微调器,它包含微调器和嵌套的相对布局。我遇到的问题是,我似乎无法使微调器与此父布局对齐,即使指定在父布局中对齐,它仍与嵌套视图对齐 澄清一下:我的微调器与“relativeone”的左上角对齐,而不是“back_布局” 有什么想法吗 相关XML代码: <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/ap
<?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,看看这是否对你更有效。我决定,因为在这次活动中手机的握法,按钮应该在底部左其实更可取。非常感谢你的帮助!