androidlayout_weight

是用于给一个线性布局(LinearLayout)中的诸多视图的重要度赋值。

所有的视图都有一个layout_weight值,默认为零,意思是需要显示多大的视图就占据多的的屏幕空间。若赋值高于零又是怎么样的呢?

在网上有很多关于layout_weight的学习资料,网上介绍的都大同小异,以为该学到的都学到的时候,一实践就发现了一些问题。以下一段是网上关于layout_weight值大于零的显示效果的说法。

如果一行中有两个等长的文本框,那么他们的android:layout_weight值可以是同为1。如果一行中有两个不等长的文本框,那么他们的android:layout_weight值分别为1和2,那么第一个文本框将占据剩余空间的三分之二,第二个文本框将占据剩余空间中的三分之一。android:layout_weight遵循数值越小,重要度越高的原则。

网上说法都没有提到layout_width/layout_height的值,事实上layout_weight的属性值跟layout_width/layout_height有很大的关系,下面是我结合网上学习和个人实践后作出的有关layout_weight使用的小结。当然正不正确读者自己实践证明就知道。

首先一点:LinearLayout中要让layout_weight生效,需要父层或父父层的相应layout_width/layout_height=“fill_parent”,否则“wrap_content”会压缩到最小足够空间。

第二:所有的视图都有一个layout_weight值,默认为零,需要显示多大的视图就占据多的的屏幕空间。

第三:当layout_weight值大于零是情况有二。以三个并列的文本框为例说明如下,其中layout_width影响layout_weight,代码如下:

<?xml version="1.0" encoding="UTF-8"?>

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"

android:layout_width="fill_parent"

android:layout_height="wrap_content"

android:orientation="horizontal" >

<TextView

android:background="#ff0000"

android:layout_width="**"

android:layout_height="wrap_content"

android:text="1"

android:textColor="@android:color/white"

android:layout_weight="1"/>

<TextView

android:background="#cccccc"

android:layout_width="**"

android:layout_height="wrap_content"

android:text="2"

android:textColor="@android:color/black"

android:layout_weight="2" />

<TextView

android:background="#ddaacc"

android:layout_width="**"

android:layout_height="wrap_content"

android:text="3"

android:textColor="@android:color/black"

android:layout_weight="3" />

</LinearLayout>

情况一:

三个文本框的都是layout_width=“fill_parent”时,其权重赋值遵循数值越小,重要度越高的原则。这种情况下,没有设置layout_weight的话,第一个组件将占用余下的空间,那么后面的组件就显示不出来。

  •    都为1的话就是平分

(图一)

  •   为1、2、3的话,只有前面两个文本框显示,比例为2:1(如图一)。

(图二)

  •   为1、2、2的话,分成5份,三个文本框都显示,比例为3:1:1(如图三);
    (图三)
  •   为1、3、3的话,分成7份,三个文本框都显示,比例为5:1:1;

(图四)

注意:这种情况适合两个组件设置权重,多了的话不好预知显示结果,设置不好的话有些组件无法显示。

情况二:

三个文本框的都是layout_width=“wrap_content”时,其值表示占用剩余空间的比例。

  •   为1、2、3的话,分成6份,三文本框显示,比例1:2:3(如图五)

(图五)

情况三:

当三个文本框中的layout_width的值既有fill_parent又有wrap_content时,以fill_parent优先。

结束语:不同情况显示的都不同,有些虽然别人介绍,我们以为懂了,可是就有那么多小细节没有考虑到导致结果相差甚远,所以每个效果只有自己试了才知道,只有出错了才了解,只有成功了才确定。

转载于:https://www.cnblogs.com/zhwl/archive/2012/03/17/2403054.html

Layout_weight实践效果小结相关推荐

  1. 软件开发综合实践实习小结

    软件开发综合实践实习小结 前言: 这次大二的小学期很是不一样,非常强烈的感受到了动手能力的重要性,为期半个月的专题实训教会了我知识,技能,方法等各方面的内容.很幸运能够遇到这位非常耐心,声音又好听的美 ...

  2. GMTC-闲鱼Flutter实践效果访谈

    在2018 GMTC大会上,Google Flutter宣布了首个发布预览版.同台亮相的闲鱼,是国内首个将Flutter用于大型实践,并用在重要场景的应用.同时闲鱼对Flutter技术演进也产生了重要 ...

  3. 微服务架构实践心得小结

    微服务架构实践心得小结 来源:彗星计划 简介 微服务架构 微服务架构则是由一组微服务组成的架构模式.每个微服务都是一个可独立部署的完整系统.一组微服务组成微服务层(注意这里的服务层不同于monolit ...

  4. jquery 半透明遮罩效果 小结

    最近偏离学术的道路越来越远了!! 今天要小结的是实现一个半透明遮罩效果.点击页面上的一个按钮,立即在屏幕的正中央显示某个部件,并且在这个部件之外的区域像是蒙上了一层半透明的遮罩.点击遮罩区域,该正中央 ...

  5. 职场经验:算法测试之实践与小结

    本文主要对于算法测试的类型和方法做一下总结.在项目中,所接触算法测试的类型主要包括如下图所示的几个方面 01 算法模型 根据之前的调研,在测试阶段,对于新采用的算法模型,比如协同过滤,机器学习算法等的 ...

  6. 电子化采购系统,金融采购管理系统招采实践效果

    数字化金融 国家"十四五"规划明确提出,以数字化转型整体驱动生产方式.生活方式和治理方式变革:人民银行印发<金融科技发展规划(2022-2025年)>,提出力争到202 ...

  7. 《大数据分析原理与实践》——小结

    小结 关联分析模型用于描述多个变量之间的关联,这是大数据分析的一种重要模型,本章主要探讨了回归分析.关联规则分析和相关分析这三类关联分析.3.1节介绍了回归分析模型,即描述一个或多个变量与其余变量的依 ...

  8. iOS中跑马灯效果小结

    时光过得好快,记忆中刚刚从春节返回没有多久,清明.五一已飞逝而过,眨眼已到盛夏季节.不过还好,济南这两年不算太热,刚开始升温几天,一场及时雨总能让温度保持适宜.为了纪念一下青春的尾巴,也为了能有个健康 ...

  9. 再读UNPv1:复习、实践、小结

    前言: 这算是第二次系统地阅读UNPv1,正如副标题,不希望写成书摘.缩写版,尽量多写写个人体会和获得的经验,因此很多地方都会从全书的角度来说明,而不仅仅限于某个章节内部. SCTP.信号驱动I/O. ...

最新文章

  1. Context-----Activity,Application之间的交流使者
  2. wp7 sdk部署应用操作
  3. ora00600内部错误代码oracle,ORA-00600: 内部错误代码, 参数: [13013]
  4. php认识正则吗,php正则表达式有什么用
  5. Become a science founder fellowship
  6. PTA第3章-9 字符串转换成十进制整数 (15 分)
  7. C++一维数组指针详解
  8. php 复制一张图片,PHP 生成一张图片的两种方法
  9. 前端知识天天学(4)
  10. Activiti7事件监听
  11. RTL8211E网口芯片在Uboot下调试问题
  12. css3实现动画的三种方式
  13. 【es6】用map对数组对象中插入新的属性
  14. Docker Harbor概述及构建
  15. 手机Vbus上防护用OVP简介
  16. 【一本通】1064:奥运奖牌计数
  17. 迷阵突围——Dijkstra求次短路
  18. yum报错网络不可达,但是配置的网络能够ping通
  19. vmware 连接云服务器协议,vmware怎么连接云服务器
  20. Excel2003默认调色板颜色索引对照表

热门文章

  1. 3D打印机的操作细节
  2. 使用electron和vue,以ipc通信的方式构建客户端版本的掘金首页
  3. 一次由于网卡流量跑满引起的服务器丢包总结(sar命令排查)
  4. while循环练习23
  5. HappyAA服务器部署笔记1(nginx+tomcat的安装与配置)
  6. 新浪微博***事件分析
  7. Linux jsp php集成环境,ImageMagick在程序中调用(linux环境,jsp,php)
  8. tgp饥荒 服务器无响应,饥荒TGP版常见运行问题有哪些_TGP版礼包领取及邀请添加好友方法详解_快吧单机游戏...
  9. r roc曲线 语言_R语言系列6:生存分析中多重时间依赖性ROC曲线绘制 timeROC
  10. python pdb调试多进程_Python使用pdb进行调试