在一个RelativeLayout中居中放置多个项目,而不将它们放入容器中?
我有一个RelativeLayout,它包含一对并排按钮,我想要在布局中居中。 我可以将按钮放在LinearLayout中,并将其放在RelativeLayout中,但我希望尽可能保持xml尽可能干净。
这是我尝试的,这只是在中心的“应用”按钮和左边的“撤消”按钮:
<RelativeLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginTop="15sp">
<TextView
android:id="@+id/instructions"
android:text="@string/instructions"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginBottom="15sp"
android:layout_centerHorizontal="true"
/>
<Button
android:id="@+id/apply"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:text="@string/apply"
android:textSize="20sp"
android:layout_below="@id/instructions"
/>
<Button
android:id="@+id/undo"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:text="@string/undo"
android:textSize="20sp"
android:layout_toLeftOf="@id/apply"
android:layout_below="@id/instructions"
/>
</RelativeLayout>
android:gravity
将对齐view
的内容或其使用的layout
。
android:layout_gravity
将对齐其父view
或layout
。
所以补充
android:gravity="center"
你的RelativeLayout应该做的伎俩......
喜欢这个:
<RelativeLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:layout_marginTop="15sp">
</RelativeLayout>
这是BrainCrash答案的延伸。 这是一个非嵌套选项,可以将所有三个水平和垂直分组和居中。 另外,它将顶部的TextView放在两个按钮的水平中央。 如果需要,您可以使用android:gravity =“center”将文本置于TextView中间。 我还删除了边距,添加了颜色,并将RelativeLayout高度设置为fill_parent以突出显示布局。 测试API 11。
<RelativeLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:gravity="center"
android:background="@android:color/black"
>
<TextView
android:id="@+id/instructions"
android:text="TEST"
android:textSize="20sp"
android:background="@android:color/darker_gray"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_alignLeft="@+id/undo"
android:layout_alignRight="@+id/apply"
android:gravity="center"
/>
<Button
android:id="@+id/apply"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:text="APPLY"
android:textSize="20sp"
android:layout_below="@id/instructions"
/>
<Button
android:id="@+id/undo"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:text="UNDO"
android:textSize="20sp"
android:layout_toLeftOf="@id/apply"
android:layout_below="@id/instructions"
/>
</RelativeLayout>
android:layout_gravity="center"
几乎会给你想要的。
链接地址: http://www.djcxy.com/p/93309.html上一篇: Center multiple items in a RelativeLayout without putting them in a container?