当前位置: 首页 > 编程日记 > 正文

Android(java)学习笔记96:layout_weight使用注意事项

1. android:layout_weight使用说明:

layout_weight是权重的意思,也就是各个控件所占的比重,用在LinearLayout布局中。当我们使用layout_weight的时候,layout_width和layout_height有三种表示方法

2. android:layout_weight使用之 layout_width为0dp

此时,layout_weight使用的时候要求:layout_height = "0"  或者  layout_width = "0"

比如:只有如下这样layout_weight属性才会生效

(1)android:layout_width = "0dip"

         android:layout_weight = "1"

(2)android:layout_height = "0dip"

         android:layout_weight = "1"

下面是一个案例:

首先看看我们的布局需求,如下:

如下布局中上下各占1/2,然后这两个一半,分别如下方式分割为1/3

布局代码如下

 1 <?xml version="1.0"  encoding="utf-8"?>
 2 <LinearLayout xmln:android="http://schemas.android.com/apk/res/android"
 3     android:layout_width="match_parent"
 4     android:layout_height="match_parent"
 5     android:oritentation="vertical">
 6     
 7     <LinearLayout
 8          android:layout_width="match_parent"
 9      android:layout_height="0dip"
10      android:layout_weight="1"
11          android:oritentation="horizontal">
12          
13         <View
14             android:layout_width="0dip"
15             android:layout_height="match_parent"
16             android:background="#ff0000"
17        android:layout_weight="1"
18            />
19         <View
20             android:layout_width="0dip"
21             android:layout_height="match_parent"
22             android:background="#0000ff"
23        android:layout_weight="1"
24            />
25         <View
26             android:layout_width="0dip"
27             android:layout_height="match_parent"
28             android:background="#00ff00"
29        android:layout_weight="1"
30            />
31     </LinearLayout>     
32     <LinearLayout
33          android:layout_width="match_parent"
34       android:layout_height="0dip"
35       android:layout_weight="1"
36          android:oritentation="vertical">
37          
38          <View
39             android:layout_width="match_parent"
40        android:layout_height="0dip"
41        android:layout_weight="1"
42             android:background="#ff00ff"
43            />
44         <View
45             android:layout_width="match_parent"
46        android:layout_height="0dip"
47        android:layout_weight="1"
48             android:background="#00ffff"
49            />
50         <View
51             android:layout_width="match_parent"
52        android:layout_height="0dip"
53        android:layout_weight="1"
54             android:background="#ffff00"
55            />
56     </LinearLayout>    
57     
58 </LinearLayout>    

3. android:layout_weight使用之 layout_width为wrap_content


我们可以看出,首先他们是先包含自己的内容,然后在剩下的空间中按照weight来划分,即剩下空间按照1:2来划分。

4. android:layout_weight使用之 layout_width为match_parent

我们可以看出,刚好和第一种layout_width为0dp的布局相反。

4. 以上三种情况到底是怎么回事呢?下面来看一下layout_weight的具体计算方法:

layout_weight的意思:

如果一个控件申明了这个属性,那么这个控件的宽度(高度)等于它原有的长度(宽度或高度)加上剩余空间所占有的比重。

例如:一个假设屏幕的宽度为L.

(1)对于第一种情况:

原有长度都等于0,所以它们的长度就是剩余空间所占有的比重。

第一个button所占有的比重为L*1/(1+2)=1/3L

第二个button所占有的比重为L*2/(1+2)=2/3L

(2)对于第三种情况:

原有长度都等于match_parent即等于L,那么剩余空间的长度等于L-(L+L)=-L;

对于第一个button所占有的比重为:-L*1/(1+2)=-1/3L

对于第二个button所占有的比重为:-L*2/(1+2)=-2/3L,所以它们的总长度等于原有的长度加上剩余空间所占有的比重。

即L+(-1/3L)= 2/3L 和 L+(-2/3L)= 1/3L;

即反过来的2:1就是出现的第三种情况。

转载于:https://www.cnblogs.com/hebao0514/p/4729591.html

相关文章:

41.uniq命令

uniq命令&#xff1a; 选项&#xff1a;-c:显示每行的重复次数&#xff1b;-u:仅显示未曾重复过的行&#xff1b;-d:仅显示重复过的行&#xff1b; 实例&#xff1a; 转载于:https://blog.51cto.com/itxuezhe/2354162

[JS-JQuery]基础

<noscript> If you see this message, your web browser doesnt support JavaScript or JavaScript is disabled. Please enable JavaScript in your browser settings so Newegg.com can function correctly.</noscript> $(tr:odd) //选择表格的奇数行$(div:visi…

位置偏移问题 绘制_AutoCAD教程之绘制螺栓连接组合图

螺栓、螺母是机械连接件中最为常用的标准件&#xff0c;螺栓连接通常需要组合在一起。下面我们以绘制螺栓连接组合件为例&#xff0c;学习在AutoCAD 2019中移动、复制、旋转等操作的应用方法。1. 新建文件及图层新建一个“无样板公制”文件&#xff0c;新建粗实线、细实线、中心…

spring mvc 控制器方法传递一些经验对象的数组

由于该项目必须提交一个表单&#xff0c;其中多个对象,更好的方法是直接通过在控制器方法参数的数组。 因为Spring mvc框架在反射生成控制方法的參数对象的时候会调用这个类的getDeclaredConstructor方法来获得构造函数, 可是一直报NoSuchMethodException的异常。 依据这种方法…

sendmail configuration on HP-UX

使用mailx 发送邮件mailx -s "Msg title here" xxxxxx.comhello,this is the mail body<--------邮件正文. <-----------------一个点&#xff0c;表示正文结束EOT<--------------上面输入点之后&#xff0c;系统自动出现EOT&#xff0c;表示邮件输入完毕-s…

数据齿轮(DataGear)数据库管理系统 v1.1.1 发布

数据齿轮&#xff08;DataGear&#xff09;数据库管理系统v1.1.1版本发布&#xff0c;此版本是v1.1版本的紧急BUG修复版本&#xff0c;更新内容如下&#xff1a; 修复&#xff1a;修复集成软件包在JRE8及以上版本无法正常运行的BUG&#xff1b;数据齿轮&#xff08;DataGear&am…

带哨兵节点的链_【算法导论】10.2不带哨兵节点和带哨兵节点的双向链表

不带哨兵节点的双向链表即一般的双向链表&#xff0c;有一个头指针指向第一个节点&#xff0c;每个节点有key值和两个指针next和pre&#xff0c;分别指向前后相邻的节点&#xff0c;头结点的preNULL&#xff0c;尾节点的nextNULL&#xff0c;比较明了&#xff0c;但是也有麻烦的…

Android环境结构--安装Eclipse错

在学习安卓第一步。成立了一个开发环境。经验&#xff0c;知道&#xff0c;所以这一步是不容易&#xff0c;因为你觉得&#xff0c;我可能是太幸运了。我见到 题。 首先&#xff0c;安装Eclipse的时候。 【Problem 1】 【问题原因】&#xff1a; &#xff08;1&#xff09; 安装…

ThinkPHP的标签制作

thinkphp的默认标签解析器在Lib/Template/TagLib/TagLibCx.class中里面定义了常用的volist php 等常用thinkphp的标签这里笔者在这个类中添加一个<category>的标签解析标签格式&#xff1a;<category parentid0 ><{$cat.catname}></category>标签作用&…

Go进阶:反射3定律

各位学习Go语言的朋友&#xff0c;周末好&#xff0c;这次跟大家聊一聊Go语言的一个高级话题&#xff1a;反射。 这篇文章是从我过去的学习笔记修改来的&#xff0c;内容主要来自Go Blog的一篇文章《The law of reflection》。 这篇文章主要介绍反射和接口的关系&#xff0c;解…

qlabel可以选中吗_Qt QLabel详解

Qt QLabel详解Qt QLabel详解一、QLabel常用方法1. QLabel设置文本内容ui.label->setText(QStringLiteral("测试中文\n"));2. QLabel设置颜色通过设计器里面的改变样式进行设置&#xff1a;同时可以设置字体、文本对齐方式、背景图片color: rgb(255, 85, 0);backgr…

数据库种类 以及优缺点

1.MySQL MySQL是最受欢迎的开源SQL数据库管理系统&#xff0c;它由 MySQL AB开发、发布和支持。MySQL AB是一家基于MySQL开发人员的商业公司&#xff0c;它是一家使用了一种成功的商业模式来结合开源价值和方法论的第二代开源公司。MySQL是MySQL AB的注册商标。 MySQL是一个快速…

xcode 4.2 不再支持 Window-Based Application 的解决办法(转载)

xcode 4.2 不再支持 Window-Based Application 的解决办法&#xff1a; 1.创建空项目 Empty Application。&#xff08;在Xcode4.2下创建的这个空项目不再有MainWindow.xib文件了。&#xff09; 2.CtrlN&#xff0c;创建User Interface下面的Window&#xff08;选择“i…

java知识概论

转载于:https://www.cnblogs.com/arrows/p/10432301.html

及cp含义_当我们谈论CP时,我们在谈论什么?

2015年B站UP主剪刀手轩辕投稿了一个名为《【魔性拉郎群像】你问我爱你有多深》的视频&#xff0c;让伏黛(伏地魔林黛玉)这个CP走进了众多二次元观众的视野&#xff0c;让这个超级冷门的小众CP一跃成为微博超话&#xff0c;甚至还上了当时的微博热搜。其实早在2010年&#xff0c…

40个出色的Wordpress cms插件

WordPress is a great blogging platform with a potential of being an easy to use content management system. This is the third article of our three-part series, “The Comprehensive Guide for a Powerful CMS using WordPress”. We are taking a look at 40 qualit…

Xcode 添加代码块

我们经常会定义一些retain的property&#xff0c;而且大概每次我们都会像这样写&#xff1a; property (nonatomic, retain) Type *name; 每次都要老老实实的把“property (nonatomic, retain)”敲一遍&#xff0c;这样太累了。 那么能不能像XCode自带的代码提示功能一样&…

软考自查:计算机网络

计算机网络 内容提要 七层模型网络技术标准与协议网络类型与拓扑结构网络规划与设计IP地址与子网划分特殊含义IP地址HTML无线网网络接入技术IPv6OSI/RM七层模型 七层模型练习题 某IP网络连接如图所示&#xff0c;在这种配置下IP全局广播分组不能够通过的路径是_B_。A&#xff1…

restful url 设计规范_restFul接口设计规范

1. 域名应该尽量将API部署在专用域名之下。https://api.example.com如果确定API很简单&#xff0c;不会有进一步扩展&#xff0c;可以考虑放在主域名下。https://example.org/api/2. 版本(Versioning)应该将API的版本号放入URL。http://www.example.com/app/1.0/foohttp://www.…

Dictionary作为数据源绑定,调用c++库中返回为BYTE*的函数,listView项排序

最近在做一个电子档案管理的项目。现在还处于初期&#xff0c;只是做一个简单demo拿去跟客户演示。至于最后谈不谈得下来&#xff0c;到底做不做&#xff0c;反正我是不看好&#xff0c;但没因为这样就马马虎虎、草草了事。这个项目算是b/s加c/s混合体&#xff0c;现在已经做的…

ES6 新特性

ES6 先阅读这个http://gejiawen.github.io/2015/07/28/Javascript/ECMAScript6%E5%AD%A6%E4%B9%A0%E7%AC%94%E8%AE%B0%E7%B3%BB%E5%88%97/ECMAScript6%E6%96%B0%E7%89%B9%E6%80%A7%E7%AE%80%E4%BB%8B/ ES6的特性在chrome中默认是关闭的 Visit chrome://flags/#enable-javascrip…

一次被僵尸网络病毒攻击的过程

事件背景 回想起来应该算是去年的事情了, 时值 2019 年 1 月 24 日早上, 当时我正忙碌于开发手头的一个珠宝分销系统项目, 由于已经进行了多日封闭式开发, 项目初见效果, 准备放到内网服务器 A 上跑跑看. 项目的一些功能需要通过公网才能访问, 于是便打算通过一台之前就架设在公…

c2 链路_POS链路不能打开的解决办法

介绍的是POS链路不能打开的解决办法&#xff0c;其原因是C2字节不匹配&#xff0c;这里以华为路由器为组网环境。一、网络环境路由器A有GE接口和2.5G POS接口与其他路由器连接&#xff0c;启动路由器A后&#xff0c;发现GE端口的状态为正常开启&#xff0c;但2.5G POS端口无法开…

“寒冬”下的金三银四跳槽季来了,帮你客观分析一下局面

如果第二次看到我的文章&#xff0c;欢迎下方扫码订阅我的个人公众号&#xff08;跨界架构师&#xff09;哟~本文长度为5723字&#xff0c;建议阅读15分钟。坚持原创&#xff0c;每一篇都是用心之作&#xff5e;这是一篇以程序员视角写的文章&#xff0c;但是内容是互联网行业通…

TCP拥塞控制算法内核实现剖析(二)

内核版本&#xff1a;2.6.37 主要源文件&#xff1a;linux-2.6.37/ net/ ipv4/ tcp_bic.c 本文主要分析BIC算法实现 1. 相关结构体和参数 /* BIC TCP Parameters */struct bictcp {u32 cnt ; /* increase cwnd by 1 after ACKs */u32 last_max_cwnd ; /* last maximum snd_cw…

关于IOS中的self关键字

在C#、Java中都有一个关键字this用于表示当前对象&#xff0c;其实在ObjC中也有一个类似的关键字self&#xff0c;只是self不仅可以表示当前对象还可以表示类本身&#xff0c;也就是说它既可以用在静态方法中又可以用在动态方法中。-(void)setName:(NSString *)name andAge:(in…

中值定理符号怎么读_微分、微分中值定理、泰勒公式

问对问题&#xff0c;找对方法&#xff0c;做对的事~ 黑莓 2020/10/09 温习001-031逻辑、集合、空间 线性代数00线性代数研究什么内容&#xff1f;-上海交大032-047行列式的定义、性质与计算10/03048-078矩阵的定义、运算10/03079-117可逆矩阵、初等变换与秩10/04…

Java高级特性增强-多线程

请戳GitHub原文: https://github.com/wangzhiwub... 大数据成神之路系列&#xff1a; 请戳GitHub原文: https://github.com/wangzhiwub... Java高级特性增强-集合 Java高级特性增强-多线程 Java高级特性增强-Synchronized Java高级特性增强-volatile Java高级特性增强-并发集合…

微软企业库4.1学习笔记(八)创建对象 续集2

3.3通过配置指定和Unity的整合 另外一种方法是在配置源中指定配置的需要&#xff0c;你可以指定下面的一条或者多条&#xff1a; 你可以在Unity配置中指定想要的BlockExtensions  你可以在Unity配置中的type配置节指定如何创建企业库对象&#xff0c;指定类型映射的关系&…

Kali Linux python 安装pip

安装pip&#xff1a;apt-get install python-setuptoolseasy_install pippip install xxxx转载于:https://www.cnblogs.com/arhatlohan/p/4737828.html