android:layout_gravity和android:gravity的区别

Android中的gravity属性及效果图展示 该属性可以应用于TextView、Button、EditText等各种视图控件上,通过设置gravity属性,我们可以实现文字、图标、按钮等元素的对齐效果。本文介绍了Android中的gravity属性及其作用,通过相应的源代码展示了不同取值下的效果图。在实际开发中,我们可以根据需求灵活运用gravity属性,实现控件内部内容的对齐操作,以达到更好的用户体验。通过以上示例,我们可以看到根据gravity属性的不同取值,控件内部的内容在布局中呈现出不同的对齐效果。一、gravity属性介绍。 阅读详情

1.首先来看看android:layout_gravity和android:gravity的使用区别。

android:gravity:

这个是针对控件里的元素来说的,用来控制元素在该控件里的显示位置。例如,在一个Button按钮控件中设置如下两个属性,

android:gravity="left"和android:text="提交",这时Button上的文字“提交”将会位于Button的左部。


android:layout_gravity:

这个是针对控件本身而言,用来控制该控件在包含该控件的父控件中的位置。同样,当我们在Button按钮控件中设置android:layout_gravity="left"属性时,表示该Button按钮将位于界面的左部。


2.属性值:

这两个属性可选的值有:top、bottom、left、right、center_vertical、fill_vertical、center_horizontal、fill_horizontal、center、fill、clip_vertical。

一个属性可以包含多个值,需用“|”分开。其含义如下:

top 将对象放在其容器的顶部,不改变其大小.
bottom 将对象放在其容器的底部,不改变其大小.
left 将对象放在其容器的左侧,不改变其大小.
right 将对象放在其容器的右侧,不改变其大小.
center_vertical 将对象纵向居中,不改变其大小. 
垂直对齐方式:垂直方向上居中对齐。
fill_vertical 必要的时候增加对象的纵向大小,以完全充满其容器. 
垂直方向填充
center_horizontal 将对象横向居中,不改变其大小. 
水平对齐方式:水平方向上居中对齐
fill_horizontal 必要的时候增加对象的横向大小,以完全充满其容器. 
水平方向填充
center 将对象横纵居中,不改变其大小.
fill 必要的时候增加对象的横纵向大小,以完全充满其容器.
clip_vertical

附加选项,用于按照容器的边来剪切对象的顶部和/或底部的内容. 剪切基于其纵向对齐设置:顶部对齐时,剪切底部;底部对齐时剪切顶部;除此之外剪切顶部和底部.

垂直方向裁剪

clip_horizontal

附加选项,用于按照容器的边来剪切对象的左侧和/或右侧的内容. 剪切基于其横向对齐设置:左侧对齐时,剪切右侧;右侧对齐时剪切左侧;除此之外剪切左侧和右侧.

水平方向裁剪


我们主要来看看 center_vertical和center_horizontal两个属性值,center_vertical是指将对象在垂直方向上居中对齐,即在从上到下的方向上选择中间的位置放好;center_horizontal是指将对象水平方向上居中对齐,即在从左到右的方向上选择中间的位置放好。

3.特殊情况

当我们采用LinearLayout布局时,有以下特殊情况需要我们注意:

(1)当 android:orientation="vertical"  时, android:layout_gravity只有水平方向的设置才起作用,垂直方向的设置不起作用。即:left,right,center_horizontal 是生效的。

(2)当 android:orientation="horizontal" 时, android:layout_gravity只有垂直方向的设置才起作用,水平方向的设置不起作用。即:top,bottom,center_vertical 是生效的。


下面以一个例子说明:(本例来源于:http://blog.youkuaiyun.com/dekunchenivan/article/details/6718678)


  1. <?xml version="1.0" encoding="utf-8"?>  
  2. <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"  
  3.     android:orientation="vertical"  
  4.     android:layout_width="fill_parent"  
  5.     android:layout_height="fill_parent"  
  6.     >  
  7.     <TextView    
  8.         android:layout_width="100dip"   
  9.         android:layout_height="100dip"  
  10.         android:layout_gravity="bottom|center_horizontal"  
  11.         android:gravity="center|bottom"  
  12.         android:background="#00FF00"  
  13.         android:text="@string/textview"  
  14.         />  
  15.   
  16.     <Button  
  17.         android:layout_width="100dip"  
  18.         android:layout_height="100dip"  
  19.         android:layout_gravity="bottom|left"  
  20.         android:gravity="left|top"  
  21.         android:background="#FF0000"  
  22.         android:text="@string/button"  
  23.         />  
  24. </LinearLayout>  

其效果如图:  





在TextView中,我们设置了android:layout_gravity="bottom|center_horizontal"  ,但该TextView并没有显示在屏幕的下方正中央,表明只有center_horizontal属性起了作用,这正是因为我们使用了LinearLayout布局,并且其android:orientation="vertical",只有水平方向的设置才会起作用,其他方向则会失效。同样,Button也一样。


基于紫光展锐平台的音频调用到hal层逻辑 基于紫光展锐平台的音频调用到hal层逻辑 1、数据流程图 AudioPolicyService和AudioFlinger的创建: 这两个服务都在audioserver中启动,文件路径: frameworks/av/media/audioserver/main_audioserver.cpp 从AudioFlinger和AudioPolicyService的创建,到output的打开,以及AudioFlinger开始往底层写入数据的具体流程如下图: #mermaid-svg-kjHL4XWwkQXN6NdA 阅读详情

相关推荐

磁带库Scalar i6000界面基本操作步骤

(注:磁带库的前面的门不要打开,日常维护:主要就是简单看下磁带库的状态;绿色代表正常;黄色代表报警但不影响磁带库正常使用;红色代表报警,不能正常使用,及时和厂家联系报修。) 一、磁带库管理页面 1、首先,磁带库前面(具体作用如图) 2、查看状态和管理页面 3、管理页面登陆。用户名:service 密码:xxxxxx 4、磁带机背面 二、电脑连接磁带库进入管理页面 1.用网线把电脑和磁带库的维护接口(磁带库背面)进行连接 2.电脑环境:JAVA。把电脑的IP设置成自...

杀神lwz的博客 5352

android:layout_gravity="bottom"

昨天看了一点iOS,越来月觉得Android的布局是个烦心的事。 今天就遇到了个小问题。,就是 android:layout_gravity="bottom" 没起作用 然后查了一下,发现是这样 当父布局的方向 android:orientation="vertical"  时,  只有水平方向的设置才起作用,垂直方向的设置不起作用。即:left,right,center_horizon

chuangyizhongxin的专栏 970

SAP LSMW保姆级操作文档

SAP LSMW(Legacy System Migration Workbench)是一个强大的工具,旨在简化旧系统数据向SAP系统的迁移过程。它允许用户通过多种方式导入数据,包括直接输入、批处理输入和BAPI。LSMW支持数据映射和转换,确保数据在迁移过程中保持一致性,减少手动输入的需求,从而提高效率,适用于新系统实施和数据更新项目。在日常运维过程中我们经常会遇到用户要求我们批量改一写数据,通常这些字段的信息有些SAP是提供程序可以批量进行更改的比如主数据的MM17、通用更改数据的MASS。

我小时候很黑的博客 4942

Android中的layout_gravity和gravity的区别

在Android的布局中,除了padding和margin容易弄混之外,还有layout_gravity和gravity。按照字面意思来说,layout_gravity就是相对于layout来设置的。通俗点讲就是当前控件之外的位置。 而gravity就是控件内部的位置。具体来看一下Demo。 <?xml version="1.0" encoding="utf-8"?><Lin...

weixin_30698297的博客 1204

保姆级教程:在Ubuntu 22.04上搞定PX4 V1.14 + ROS2 Humble的HITL仿真(避坑实录)

本文提供在Ubuntu 22.04上配置PX4 V1.14与ROS2 Humble的HITL仿真环境的详细教程,涵盖环境准备、固件编译、QGroundControl配置、ROS2通信设置及联调测试。特别针对版本兼容性、Gazebo插件构建和MicroDDS配置等常见问题提供避坑指南,帮助开发者高效搭建无人机仿真系统。

weixin_30836759的博客 1001

基于深度学习实现实时视频目标检测

实时视频目标检测是计算机视觉领域的研究热点之一,其应用场景包括智能监控、自动驾驶、机器人视觉等多个领域。深度学习技术的快速发展使得实时视频目标检测变得更加可行和准确。本文提出一种基于深度学习实现的实时视频目标检测系统,使用Python和OpenCV作为开发工具,具有高效、准确和实时的特点。 本系统的主要需求是实现实时视频目标检测功能,可以在不同的应用场景中使用。具体的需求如下:2.1 视频输入本系统需要从摄像头或视频文件中获取实时视频流,并对视频流中的目标进行检测和跟踪。2.2 目标检测本系统需要使用深度学

分享毕业设计的案例和论文 1940

安卓16:Android studio gravity和layout_gravity的区别

一、gravity和layout_gravity相同处 两者都是设置对齐方式的属性。内部的属性值相同。 二、gravity和layout_gravity的不同处 gravity是设置自身内部元素的对齐方式。如果是view组件,则是设置内部文字的对齐方式。如果是ViewGroup布局组件如LinearLayout,则为设置它内部view组件的对齐方式。 layout_gravity是设置自身相当于父容器的对齐方式。组件设置layout_gravity属性,则表示这个组件相对于父容器的对齐方式。 【注意1】如果

qq_43374694的博客 1071

YOLOv11改进策略【卷积层】| CVPR-2024 PKI Module 获取多尺度纹理特征,适应尺度变化大的目标

PKI Module是。

Limiiiing的博客 2705

Android安卓gravity和layout_gravity的区别

被设置为 "center_horizontal",这使得 TextView 在其父容器(LinearLayout)中水平居中显示。是用于设置视图元素内部内容(文本、图像等)在视图本身内的对齐方式。它影响的是视图内部内容的位置。被设置为 "center",这意味着文本内容在 TextView 内部会居中显示。用于设置视图元素在其父容器中的对齐方式。它影响的是视图元素本身在父容器内的位置。是用于控制视图元素在布局中位置的两个属性,它们有不同的作用和适用范围。在 Android 中,

zy0412326的专栏 1361

智能车图像处理20-进阶篇12--正入十字补线1

这篇文章主要讲述基本的正入十字补线方法。

taiyuezyh的博客 6938

地平线旭日X3 安装xfce桌面+VNC查看USB摄像头

VNC是Virtual Network Computing的缩写,它是一种使用RFB(Remote Frame Buffer)协议的用于控制远程电脑的图形桌面分享系统。xfce桌面相比于GNOME桌面更加轻量,占用的资源更少,在没有GPU的设备上也可以运行(旭日的Desktop版本从外观上好像就是xfce桌面,具体没有尝试)。可以使用专用的VNC客户端连接到开发板,例如vnc viewer。板子默认带有openssh-server,因此,WiFi热点连接成功后,就可以使用ssh登录开发板了。

bingdund的博客 509

Android layout_gravity 和 gravity的区别

这两个属性,有时候蛮容易混淆,好记性不如烂笔头 ,还是直接记录下来吧 1. android:layout_gravity定义: android:layout_gravity Gravity specifies how a component should be placed in its group of cells. android:layout_gravity 是指UI自身控件, 放在父布局中的哪个位置, 举个例子: <?xml version="1.0" ......

u012514113的专栏 2182

Python 爬虫实战:Twitter 数据定向抓取(特定话题 + 用户推文爬取与分析)

在社交媒体研究、舆情监测和市场分析等领域,Twitter 数据具有极高的价值。本文将详细介绍如何使用 Python 构建一个完整的 Twitter 数据爬取系统,包括特定话题和用户推文的爬取与分析。我们将涵盖从认证到数据存储、清洗、分析和可视化的全流程。

u014481728的博客 1035

安卓布局中的android:layout_gravity和android:gravity的使用区别

android:layout_gravity和android:gravity的使用区别 android:gravity: 这个是针对控件里的元素来说的,用来控制元素在该控件里的显示位置。例如,在一个Button按钮控件中设置如下两个属性, android:gravity="left"和android:text="提交",这时Button上的文字“提交”将会位于Button的左部。 andr

祥子的专栏 764

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

安卓中gravity和layout_gravity的区别

对于安卓这两个属性一直没有分清,和当初学C语言a++,++a的区别一样苦恼。现在记录一下自己的理解。 定义: gravity的中文意思就是”重心“,就是表示view横向和纵向的停靠位置 (1).android:gravity:是对view控件本身来说的,是用来设置view本身的内容应该显示在view的什么位置,默认值是左侧。也可以用来设置布局中的控件位置 (2).android:layout_...

星宇大前端 3516

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

android layout_gravity 和 gravity的区别

gravity的意思就是”重心“,就是表示view横向和纵向的停靠位置,那layout_gravity 和 gravity 的区别在哪里呢? 1,android:layout_gravity:是相对于包含改元素的父元素来说的,设置该元素在父元素的什么位置; 2,android:gravity:是对view控件本身来说的,是用来设置view本身的内容应该显示在view的什么位置,默认值是左侧。也...

dhl_1986的博客 467

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

android:layout_gravity="top",android:layout_gravity和gravity的区别

文章转自http://blog.youkuaiyun.com/shakespeare001/article/details/784346,给出了很详细的解释。1.首先来看看Android:layout_gravity和android:gravity的使用区别。android:gravity:这个是针对控件里的元素来说的,用来控制元素在该控件里的显示位置。例如,在一个Button按钮控件中设置如下两个属性,an...

weixin_34212182的博客 812

android:layout_gravity和android:gravity属性的区别

gravity的中文意思就是”重心“,就是表示view横向和纵向的停靠位置 android:gravity:是对view控件本身来说的,是用来设置view本身的文本应该显示在view的什么位置,默认值是左侧 android:layout_gravity:是相对于包

“无证程序员”的专栏 2万+

Android --- 布局属性gravity和layout_gravity的区别

在Android的布局中,除了padding和margin容易弄混之外,还有layout_gravity和gravity。按照字面意思来说,layout_gravity就是相对于layout来设置的。通俗点讲就是当前控件之外的位置。 而gravity就是控件内部的位置。具体来看一下Demo。 <?xml version="1.0" encoding="utf-8"?><Linea...

梁同学与Android 9249

android gravity 代码,android:layout_gravity和android:gravity属性的区别

android:gravity / android:layout_gravity区别:android:gravity 是设置该view类里面的内容相对于该view的位置,例如设置button里面的text相对于view的靠左,居中等位置。(也可以在Layout布局属性中添加,设置Layout中组件的位置)android:layout_gravity 是用来设置该view相对与父view的位置,例如...

weixin_42122878的博客 845

android:layout_gravity 和android:gravit的区别?

android:layout_gravity 和android:gravit的区别? android:gravity是调整元素本身的内容或元素包含的子元素显示的位置,默认是显示在左侧 android:layout_gravity是相对与它的父元素说的,说明元素显示在父元素的什么位置。 比如说Button: android:layout_gravity 表示按钮在界面上的位置。

a19860903的专栏 5874

[Android]【安卓】gravity和layout_gravity的区别

[Android]【安卓】gravity和layout_gravity的区别 本篇博客已收录到我的安卓开发小结中——点击【安卓开发小结】 gravity和layout_gravity都可以确定控件的位置,但作用的对象不同。 &lt;TextView android:layout_width="wrap_content" android:layo...

Hy的博客 379

安卓页面布局中android:gravity与android:layout_gravity的区别

android:gravity 指的是在控件内的元素要排布的方向 android:layout_gravity 指的是该控件相对于父控件的显示位置当这俩个属性取多个值时可以使用’|’来分隔,且在LinearLayout布局中,使用android:layout_gravity有两种特殊情况: 1、有属性android:orientation=’vertical’ layout_gravity

hhhzua的专栏 762

android layout gravity和android gravity属性的区别

android layout gravity和android gravity属性的区别

ugfdfgg的博客 319

安卓:gravity和layout_gravity; padding和margin区别

安卓:gravity和layout_gravity; padding和margin区别

王毅的专栏 573
上一篇: Android:帧布局实现霓虹灯的效果
下一篇: Android之SimpleAdapter和ListView
hxwhou
博客等级 码龄16年 100粉丝 64原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值