文档章节

layout_gravity与gravity的区别

Bonjourss
 Bonjourss
发布于 2016/05/11 09:18
字数 515
阅读 21
收藏 0

今天又学习了一下基础知识,所谓温故而知新可以为师矣。感觉以前对这个知识点的认知可能有偏差,或者是似懂非懂,用的时候就胡乱试,效果对了就对了,根本就没去好好看看之间的关联,所以今天再总结一下。

先看效果图:

测试结果:测试1、测试2都居中显示,测试3是在垂直方向上居中,测试4是在水平方向居中。

其中测试1、2使用的布局是android:gravity="center"

测试3、4使用的布局是 android:layout_gravity

下边我就讲讲怎么使用这两个属性:

<?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:orientation="vertical">

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="50dp"
        android:orientation="horizontal">

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:layout_weight="1"
            >

            <TextView
                android:layout_width="match_parent"//当控件的大小完全与父控件的大小一致时
                android:layout_height="match_parent"
                android:text="测试1"
                android:gravity="center"//它的作用是控制控件中文本内容在控件中显示位置
                />
        </LinearLayout>

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:layout_weight="1"
            android:gravity="center"//它的作用是控制子控件在父控件中显示位置
            >

            <TextView
                android:layout_width="wrap_content"//当控件的大小完全与父控件的大小一致时
                android:layout_height="wrap_content"
                android:text="测试2"
                />
        </LinearLayout>
在LinearLayout中View并不是对每一个android:layout_gravity属性都会起作用。
如android:orientation属性的值为horizontal,LinearLayout中的View都会水平排列,
但是View的android:layout_gravity属性只有在垂直(如bottom、center_vertical等)
方向的值才起作用 测试3父控件LinearLayout没有设置android:orientation,
则继续向上继承父控件的android:orientation,父控件的
排列方式是水平排列,所以TextView的android:layout_gravity属性只能在垂直方向起作用
        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:layout_weight="1"
            >

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="测试3"
                android:layout_gravity="center_vertical"/>
        </LinearLayout>

    </LinearLayout>

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="50dp"
        android:orientation="horizontal"
        >

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="测试4"
            android:layout_gravity="center_vertical"
            />
    </LinearLayout>

</LinearLayout>

  

 

© 著作权归作者所有

Bonjourss
粉丝 2
博文 37
码字总数 2312
作品 0
虹口
程序员
私信 提问
android中layout_gravity 和 gravity的区别

安卓中的 layoutgravity 属性和 gravity属性 有啥区别? LinearLayout有两个非常相似的属性: android:gravity与android:layoutgravity。 他们的区别在于: android:gravity 属性是对该view中...

Angels_安杰
2015/10/19
38
0
Android中gravity与layout_gravity的区别

LinearLayout有两个非常相似的属性:android:gravity与android:layoutgravity。他们的区别在于:android:gravity用于设置View组件的对齐方式,而android:layoutgravity用于设置Container组件...

mutouzhang
2014/03/13
40
0
【Android布局】在程序中设置android:gravity 和 android:layout_Gravity属性

在进行UI布局的时候,可能经常会用到 android:gravity 和 android:layout_Gravity 这两个属性。 关于这两个属性的区别,网上已经有很多人进行了说明,这边再简单说一下。 (资料来自网络) Lin...

晨曦之光
2012/03/01
673
0
gravity和layout_gravity

gravity 这个英文单词是重心的意思,在这里就表示停靠位置的意思。 android:layoutgravity 和 android:gravity 的区别 从名字上可以看到,android:gravity是对元素本身说的,元素本身的文本显...

湖心亭看雪
2014/08/16
101
0
android:gravity和android:layout_gravity区别

从名字上可以看到,android:gravity是对元素本身说的,元素本身的文本显示在什么地方靠着换个属性设置,不过不设置默认是在左侧的。android:layout_gravity是相对与它的父元素说的,说明元素...

鉴客
2011/12/12
1K
0

没有更多内容

加载失败,请刷新页面

加载更多

nginx+tomcat配置https

1、nginx配置https和【proxy_set_header X-Forwarded-Proto $scheme;】 2、java代码: String basePath = request.getScheme() + "://" + request.getServerName() + ":" + request.getServe......

perofu
14分钟前
3
0
必看的Linux系统新手进阶老手心得

不知道从什么时候起,linux这个话题变得越来越普及,成为大家经常讨论的话题。无论在网络上还是实际生活中,竟然很多人都在纠结学习linux的问题。网络上给的答案千千万万,而却还有很多人踌躇...

Linux就该这么学
17分钟前
3
0
Spring Boot 配置元数据指南

1. 概览 在编写 Spring Boot 应用程序时,将配置属性映射到 Java bean 上是非常有用的。但是,记录这些属性的最好方法是什么呢? 在本教程中,我们将探讨 Spring Boot Configuration Proces...

liululee
20分钟前
2
0
foreach查找子类

$list = $menu_model -> menu_list();$parent_list = [];foreach ($list as $v){ if ($v['pid'] == 0) { $parent = $v; foreach ($list as $v1) ......

小小小壮
32分钟前
2
0
基于 HTML5 Canvas 实现的 TP-LINK 电信拓扑设备面板

前言 今天我们以真实的 TP-LINK 设备面板为模型,完成设备面板的搭建,和指示灯的闪烁和图元流动。 先来目睹下最终的实现效果:http://www.hightopo.com/demo/blog_tplink_20170511/index.h...

htdaydayup
38分钟前
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部