你可以在一个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_horizontal,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_centerHorizontal =“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>