[英]How to set layout_gravity center to view in LinearLayout in a DrawerLayout
[英]How to set a layout gravity center
我只是在设计一个登录布局。 但是,我想设置一个布局重心(将完整的布局内容设置到屏幕中心)。 我正在使用重心,但它没有给我正确的输出,所以可能是我遇到了另一个问题。 波纹管是我的布局 xml 代码。 因此,有人可以建议我在哪里遇到问题!!!
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginRight="30dp"
android:paddingLeft="20dp"
android:layout_marginTop="10dp"
android:background="#458221"
>
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Hello"
/>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:layout_gravity="center"
<!-- I want to set this layout into the center of the screen ,This layout cann't set the gravity center -->
>
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="User Name: "
/>
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="user"
/>
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="password"
/>
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="pass"
/>
</LinearLayout>
</LinearLayout>
考虑使用相对布局。 然后,您可以使用android:layout_centerInParent="true"
水平和垂直居中父级。
您需要像这样制作根元素FrameLayout
或RelativeLayout
:
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginRight="30dp"
android:paddingLeft="20dp"
android:layout_marginTop="10dp"
android:background="#458221"
>
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Hello"
/>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:layout_gravity="center" >
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="User Name: "
/>
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="user"
/>
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="password"
/>
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="pass"
/>
</LinearLayout>
</FrameLayout>
将重力更改为:
android:gravity="center_vertical|center_horizontal"
它应该可以解决您的问题
您只需将android:gravity="center"
到最顶部的父线性布局,如下所示。
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginRight="30dp"
android:paddingLeft="20dp"
android:layout_marginTop="10dp"
android:background="#458221"
>
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Hello"
/>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:gravity="center">
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="User Name: "
/>
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="user"
/>
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="password"
/>
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="pass"
/>
</LinearLayout>
</LinearLayout>
android:gravity - 与这些 LayoutParams 关联的视图的重力。
android:layout_gravity - 孩子提供给其父母的标准重力常数。 定义子视图在其封闭布局内的 X 轴和 Y 轴上的定位方式。
机器人:layout_gravity
android:layout_gravity
用于设置元素在其父元素中的位置(例如布局内的子视图)。 由LinearLayout
和FrameLayout
支持
机器人:重力
android:gravity
用于设置元素内内容的位置(例如TextView 内的文本)。
获取并构思复制此 XML 并了解其工作原理
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
android:orientation="vertical">
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="0dp"
android:layout_weight="1"
android:orientation="vertical"
android:layout_gravity="left"
android:gravity="center_vertical">
<TextView
android:layout_width="@dimen/fixed"
android:layout_height="wrap_content"
android:text="@string/first"
android:background="@color/colorPrimary"
android:gravity="left"/>
<TextView
android:layout_width="@dimen/fixed"
android:layout_height="wrap_content"
android:text="@string/second"
android:background="@color/colorPrimary"
android:gravity="center"/>
<TextView
android:layout_width="@dimen/fixed"
android:layout_height="wrap_content"
android:text="@string/third"
android:background="@color/colorPrimary"
android:gravity="right"/>
</LinearLayout>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="0dp"
android:layout_weight="1"
android:orientation="vertical"
android:layout_gravity="center"
android:gravity="center_vertical">
<TextView
android:layout_width="@dimen/fixed"
android:layout_height="wrap_content"
android:text="@string/first"
android:background="@color/colorAccent"
android:gravity="left"/>
<TextView
android:layout_width="@dimen/fixed"
android:layout_height="wrap_content"
android:text="@string/second"
android:background="@color/colorAccent"
android:gravity="center"/>
<TextView
android:layout_width="@dimen/fixed"
android:layout_height="wrap_content"
android:text="@string/third"
android:background="@color/colorAccent"
android:gravity="right"/>
</LinearLayout>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="0dp"
android:layout_weight="1"
android:orientation="vertical"
android:layout_gravity="right"
android:gravity="center_vertical">
<TextView
android:layout_width="@dimen/fixed"
android:layout_height="wrap_content"
android:text="@string/first"
android:background="@color/colorPrimaryDark"
android:gravity="left"/>
<TextView
android:layout_width="@dimen/fixed"
android:layout_height="wrap_content"
android:text="@string/second"
android:background="@color/colorPrimaryDark"
android:gravity="center"/>
<TextView
android:layout_width="@dimen/fixed"
android:layout_height="wrap_content"
android:text="@string/third"
android:background="@color/colorPrimaryDark"
android:gravity="right"/>
</LinearLayout>
</LinearLayout>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.