我试图在相对布局中心一个按钮,这可能吗?我试过重力和定位功能,但是没用。
试试看
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 中居中的元素
android:layout_centerInParent="true"
阿卡迪亚,试试下面的代码。有几种方法可以得到你想要的结果,这是最简单的方法之一。
<?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 本身的重力将影响放置在其中的所有对象。在这种情况下,它只是按钮。当然,您可以使用这里的任何重力设置(例如,居中水平、顶部、右侧等等)。
你也可以使用下面的代码:
<?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>
很简单,不要把它对准任何东西
<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: layalignParentStart = “ true”和 添加居中父母为我工作。如果“校准”保持在, 内部父母不工作
若要在其中一个方向居中对齐,请在子布局中使用 android: lay _ center卧式 = “ true”或 android: outs _ center竖式 = “ true”
在视图中使用属性 android:centerInParent="true", 当要在相对布局中居中显示视图时。
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:centerInParent="true"代码时,请不要使用以下任何代码:-
android:layout_alignParentLeft="true"
android:layout_alignRight=""
等等。
总结
添加:
只能在 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"
它将子视图与父视图对齐。“中心”是基于你所选择的轴线:
左/右-> 垂直
顶部/底部-> 水平
将孩子/内容的严肃性置于视野之内:
android:gravity="center"
在任何情况下,如果没有对齐设置,则在父视图内以子视图为中心。你可以选择:
<!-- 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"
很简单,试试下面的代码,
<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>
它非常简单,只需使用 Android:CenterInParent="true"在水平和垂直两个中心,或者使用 Android:Horizontal="true"在水平和 Android:Vertical="true"中心
Android:CenterInParent="true"
Android:Horizontal="true"
Android:Vertical="true"
并且确保你在 RelaytiveLayout 中写下所有这些