gravity与layout_gravity的区别

gravity与layout_gravity的区别gravity与layout_gravity的区别

大家好,又见面了,我是你们的朋友全栈君。

含义

gravity是相对于元素本身而言的,用于控制布局中控件的对齐方式,如果没有子控件,则表示内容的对齐方式。gravity常用值有top、bottom、left、right、center等,可以使用”|”将多个值连接起来。

layout_gravity是相对于父布局容器而言的,用于设置在父容器中的对齐方式。

例子

在LinearLayout中放置一个TextView,通过配置gravity和layout_gravity观察TextView出现的位置。
xml文件代码:在TextView中添加属性,android:layout_gravity=”center”

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity">
    <TextView
        android:id="@+id/view1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:background="@android:color/holo_blue_bright"
        android:layout_gravity="center"//设置TextView在父控件LinearLayout中居中
        android:text="@string/hello_world" />

</LinearLayout>
在LinearLayout中修改代码:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity"
    android:gravity="center">//设置子控件TextView居中
    <TextView
        android:id="@+id/view1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:background="@android:color/holo_blue_bright"
        android:layout_gravity="center"
        android:text="@string/hello_world" />

</LinearLayout>

gravity与layout_gravity的区别=
gravity与layout_gravity的区别


从上面的运行结果就可以看出,android:layout_gravity=”center”是让TextView显示在Layout的中间。
android:gravity=”center”则让LinearLayout中的子控件TextView居中。
再看一个例子

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity">
    <TextView
        android:id="@+id/view1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:background="@android:color/holo_blue_bright"
        android:gravity="center_horizontal"//添加代码的位置
        android:layout_gravity="center
        android:text="@string/hello_world" />

</LinearLayout>

gravity与layout_gravity的区别


TextView中没有子控件,那么它会对TextView中的内容起作用。字体在TextView中居中显示。


版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/159825.html原文链接:https://javaforall.net

(0)
上一篇 2022年7月15日 上午7:46
下一篇 2022年7月15日 上午7:46


相关推荐

  • Internet宽带接入方式详解

    Internet宽带接入方式详解

    2021年8月21日
    75
  • Redis 淘汰策略和删除策略

    Redis 淘汰策略和删除策略1 定时删除在设置 key 的过期时间的同时 为该 key 创建一个定时器 让定时器在 key 的过期时间来临时 对 key 进行删除优点 保证内存被尽快释放缺点 1 若过期 key 很多 删除这些 key 会占用很多的 CPU 时间 在 CPU 时间紧张的情况下 CPU 不能把所有的时间用来做要紧的事儿 还需要去花时间删除这些 key 2 定时器的创建耗时 若为每一个设置过期时间的 key 创建一个定时器 将会有大量的定时器产生 性能影响严重 2 惰性删除 key 过期的时候不删除 每次从数据库获取 key 的时候去检查是否过期 若过期

    2026年3月26日
    2
  • idea 2022.01 mac 激活(注册激活)2022.01.19

    (idea 2022.01 mac 激活)这是一篇idea技术相关文章,由全栈君为大家提供,主要知识点是关于2021JetBrains全家桶永久激活码的内容https://javaforall.net/100143.htmlIntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,上面是详细链接哦~0HKLM1UCCY-eyJsaWNlb…

    2022年3月31日
    546
  • OpenClaw 进阶教程,配置指南:身份 + 记忆 + Skills + 子Agent + 定时任务(从”能用”到”好用”)

    OpenClaw 进阶教程,配置指南:身份 + 记忆 + Skills + 子Agent + 定时任务(从”能用”到”好用”)

    2026年3月13日
    3
  • 苹果怎么设置侧边滑返回键_苹果X的按键怎么拆

    苹果怎么设置侧边滑返回键_苹果X的按键怎么拆iPhoneX上市也已经有一段时间了,众所周知它去除了我们熟悉的睡眠/唤醒按钮——home键。很多用户肯定对觉得这个设计很反人类,其实现实是恰恰相反,苹果只是简单地把home键的功能分配到了Side按钮,除了消失的指纹识别其他功能一应俱全。现在就让小编带大家看看iPhoneX侧边按钮有多牛X。1、睡眠/唤醒用惯了iPhone的人总喜欢按圆圆的home键唤醒手机,不过现在你仍然可以使用侧面按…

    2022年8月10日
    8
  • mysql 添加索引 mysql 如何创建索引

    mysql 添加索引 mysql 如何创建索引1.添加PRIMARYKEY(主键索引)mysql>ALTERTABLE`table_name`ADDPRIMARYKEY(`column`)例:altertableyx_marketing_detailsaddindex(id);2.添加UNIQUE(唯一索引)mysql>ALTERTABLE`table_name`ADDUNIQUE(`column`)3.添加INDEX(普通索引)mysql>ALTERTABLE…

    2022年6月2日
    33

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号