你可以在一个Button的RelativeLayout?

我试图在一个相对布局的中心button,这可能吗? 我已经尝试了重力和定向function,但是他们什么都不做。

尝试

android:layout_centerHorizontal="true" 

正是这样,它适用于我:

 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:background="#ff0000"> <Button android:id="@+id/btn_mybutton" android:layout_height="wrap_content" android:layout_width="124dip" android:layout_marginTop="5dip" android:layout_centerHorizontal="true"/> </RelativeLayout> 

您可以使用CENTER_IN_PARENT作为相对布局。

android:layout_centerInParent="true"添加到要在RelativeLayout中居中的元素

阿卡迪亚,只是尝试下面的代码。 有几种方法可以获得您要查找的结果,这是更简单的方法之一。

 <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/relative_layout" android:layout_width="fill_parent" android:layout_height="fill_parent" android:gravity="center"> <Button android:id="@+id/the_button" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Centered Button"/> </RelativeLayout> 

设置RelativeLayout本身的重力会影响放置在其中的所有对象。 在这种情况下,这只是button。 当然,你可以在这里使用任何重力设置(例如center_horizo​​ntal,top,right等等)。

你也可以使用下面的代码:

 <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/relative_layout" android:layout_width="fill_parent" android:layout_height="fill_parent"> <Button android:id="@+id/the_button" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Centered Button" android:layout_centerInParent="true"/> </RelativeLayout> 

总结

添加:

 android:layout_centerInParent="true" 

只是在RelativeLayout上工作,如果还为视图设置了以下属性之一:

 android:layout_alignParentLeft="true" android:layout_alignParentStart="true" android:layout_alignParentTop="true" android:layout_alignParentBottom="true" android:layout_alignParentRight="true" android:layout_alignParentEnd="true" 

将子视图对准父视图。 “中心”是基于你所select的轴的轴心:

左/右 – >垂直

顶部/底部 – >水平

设置视图内儿童/内容的严重性:

 android:gravity="center" 

在任何情况下,如果没有alignment设置,则将子对象置于父视图内。 可选可以select:

 <!-- Axis to Center --> android:gravity="center_horizontal" android:gravity="center_vertical" <!-- Alignment to set--> android:gravity="top" android:gravity="bottom" android:gravity="left" android:gravity="right" android:gravity="fill" ... 

然后是:

 android:layout_gravity="center" 

这是视图本身在其父母的中心

最后,您可以将以下属性添加到父视图:

 android:layout_centerHorizontal="true" android:layout_centerVertical="true" 

它很容易,不要把它与任何东西alignment

 <Button android:id="@+id/the_button" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerInParent="true" android:text="Centered Button"/> 

在视图中使用属性android:centerInParent="true" ,以便以相对布局居中放置视图。

 <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/main_layout" android:layout_width="match_parent" android:layout_height="match_parent" > <TextView android:layout_centerInParent="true" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="NWE" android:textSize="30dp"/> </RelativeLayout> 

在子布局中使用android:layout_centerHorizo​​ntal =“true”或android:layout_centerVertical =“true”的方向中心alignment

删除像android:layout_alignParentStart =“true”的任何alignment,并添加centerInParent为我工作。 如果“alignment”保持在,centerInParent不起作用

您必须将其alignment到父视图的左侧或右侧

当使用android:centerInParent="true"代码时,不要使用任何这些代码: –

android:layout_alignParentLeft="true"

android:layout_alignParentLeft="true"

android:layout_alignRight=""

等等

这很容易。 尝试下面的代码,

 <RelativeLayout android:id="@+id/second_RL" android:layout_width="match_parent" android:layout_height="match_parent" android:layout_below="@+id/first_RL" android:background="@android:color/holo_blue_bright" android:gravity="center"> <Button android:id="@+id/button" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Button" /> </RelativeLayout>