如何在Android布局的视图中心?
我想把一个布局放在屏幕的中心。
步骤#1:在全屏的RelativeLayout
中将任何你想要在屏幕上居中的东西包裹起来。
步骤#2:给这个子视图(你要在RelativeLayout
居中的那个) android:layout_centerInParent="true"
属性。
您可以使用XML属性android:layout_gravity将任何视图(包括布局)应用到中心,您可能希望将其设置为“center”。
你可以在这里find这个选项的可能值的参考: http : //developer.android.com/reference/android/widget/LinearLayout.LayoutParams.html#attr_android : layout_gravity
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/relLayout1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center"> <ProgressBar android:id="@+id/ProgressBar01" android:layout_centerInParent="true" android:layout_width="wrap_content" android:layout_gravity="center" android:layout_height="wrap_content"></ProgressBar> <TextView android:layout_below="@id/ProgressBar01" android:text="@string/please_wait_authenticating" android:id="@+id/txtText" android:paddingTop="30px" android:layout_width="wrap_content" android:layout_height="wrap_content"></TextView> </RelativeLayout>
我能够使用中心的观点
android:layout_centerHorizontal="true"
和
android:layout_centerVertical="true"
PARAMS。
如果你想中心一个视图,使用这个。 在这种情况下,TextView必须是XML中最下面的视图,因为它的layout_height是match_parent。
<TextView android:id="@+id/tv_to_be_centered" android:layout_height="match_parent" android:layout_width="match_parent" android:gravity="center" android:text="Some text" />
将android:layout_centerInParent =“true”添加到要在RelativeLayout中居中的元素
它将适用于该代码有时需要两个属性
android:layout_gravity="center" android:layout_centerHorizontal="true"
更新回答: 约束布局
现在看来,Android的趋势是使用约束布局。 尽pipe使用RelativeLayout
居中显示视图非常简单(如其他答案所示),但对于更复杂的布局, ConstraintLayout
比RelativeLayout
更强大。 所以现在值得学习。
要将视图居中,只需将手柄拖到父项的所有四边。