android:gravity和layout_gravity的区别

一,代码:

xml:

<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/main"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".activity.PreferenceActivity">

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical"
        >

        <Space
            android:layout_width="match_parent"
            android:layout_height="66dp" />

        <TextView
            android:layout_width="300dp"
            android:layout_height="wrap_content"
            android:background="#ffff00"
            android:layout_gravity="start"
            android:gravity="start"
            android:text="控件1"
            android:layout_marginBottom="66dp"
            />

        <TextView
            android:layout_width="300dp"
            android:layout_height="wrap_content"
            android:layout_marginBottom="66dp"
            android:background="#ffff00"
            android:layout_gravity="center"
            android:gravity="center_horizontal"
            android:text="控件2" />

        <TextView
            android:layout_width="300dp"
            android:layout_height="wrap_content"
            android:layout_marginBottom="66dp"
            android:background="#ffff00"
            android:layout_gravity="end"
            android:gravity="end"
            android:text="控件3" />

    </LinearLayout>


</androidx.constraintlayout.widget.ConstraintLayout>

说明:

layout_gravity:
layoutgravity属性主要用于指定一个视图(View)或其容器(如LinearLayout、RelativeLayout等)在其父容器中的对齐方式。
这意味着,通过调整layoutgravity的值,我们可以控制视图在其父容器中的位置。
例如,如果我们有一个TextView,并希望它在父容器中垂直居中,我们可以将layoutgravity设置为center_vertical。

常见的layout_gravity值:

top:将元素放置在父容器的顶部。
bottom:将元素放置在父容器的底部。
left:将元素放置在父容器的左侧。
right:将元素放置在父容器的右侧。
center_vertical:将元素垂直居中在父容器中。
center_horizontal:将元素水平居中在父容器中。

 

gravity属性用于指定一个视图(View)内部内容的对齐方式。

通过调整gravity的值,我们可以控制视图内部元素(如文本、图片等)的排列方式。
例如,如果我们有一个TextView,并希望其中的文本水平居中显示,
我们可以将gravity设置为center_horizontal

gravity常见取值:
start:将内容对齐到视图的起始位置(例如,对于从左到右的语言,起始位置为左侧)。
end:将内容对齐到视图的结束位置(例如,对于从左到右的语言,结束位置为右侧)。
left:将内容对齐到视图的左侧。
right:将内容对齐到视图的右侧。
center_vertical:将内容垂直居中在视图中。
center_horizontal:将内容水平居中在视图中.

二,测试效果:

 

posted @ 2025-05-10 09:05  刘宏缔的架构森林  阅读(37)  评论(0)    收藏  举报