android weight(权重)的详细分析
首先要明确权重分配的是那些空间?
权重是依照比例分配屏幕的剩余空间
对这句话不理解的能够看下图
假如我们希望剩余的空间平分给空间1 和空间2 ,
我们分别在2个控件的设置android:layout_weight="1"
上面算是对权重的分析,详细使用方法例如以下
先看一段代码吧
<span style="font-size:32px;"><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"
android:orientation="horizontal"
android:weightSum="2"> <TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="#66ff66"
android:layout_weight="1"
android:text="面码" /> <TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="#ff0000"
android:layout_weight="1"
android:text="小木" /> </LinearLayout></span>
这段代码非常简答。这里是水平方向为样例的。
我就说下android:weightSum="2"
这个是权重分的总个数。这里我分为2分,
这个能够要能够不要。当你对权重不是非常理解的的话建议要
上面代码的效果图
我把背景颜色设置不同,方便大家看呢,这时候两者是平分的,
原因是控件的初始长度一样,都是wrap_content,为了便于区分
权重分配的是剩余的空间。把初始长度设置为不一样,看以下代码
<LinearLayoutxmlns: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"
android:orientation="horizontal"
android:weightSum="2">
<TextView
android:layout_width="120dp"
android:layout_height="wrap_content"
android:background="#66ff66"
android:layout_weight="1"
android:text="面码" />
<TextView
android:layout_width="30dp"
android:layout_height="wrap_content"
android:background="#ff0000"
android:layout_weight="1"
android:text="小木" />
</LinearLayout>
效果图
非常明显不一样了,原因也就是两者控件初始化长度
不一样,把剩余的空间平分给他们之后他们的
长度于是会不一样的
以上就是整个项目布局完之后我对权重的理解,
对了提一下,项目中我一般设置 android:layout_width="0dp"
代码还用刚才的吧
<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"
android:orientation="horizontal"
android:weightSum="2"> <TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:background="#66ff66" android:layout_weight="1"
android:text="面码" /> <TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:background="#ff0000" android:layout_weight="1"
android:text="小木" /> </LinearLayout>
为啥要把长度设置为0呢?这就要从我写的第一句话看是想了
那就为了为了能更好的分配剩余的空间。忽略掉初始的长度。
以上就是我的理解,
补充下http://blog.csdn.net/qq_33210042/article/details/50902052
那在上张图片
开发中会常常遇到把字放到控件的中间在用viewgroup滑动同一时候
能改变字体的颜色。详细的实现就不说了,这里说下布局
我们要的就是这种把。左右滑动点击同一时候也能切换,
当然有时候不止2个那就把权重多分几份。
看下布局的代码
<LinearLayoutxmlns: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"
android:orientation="horizontal"
android:weightSum="2">
<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:background="#66ff66"
android:gravity="center"
android:layout_weight="1"
android:text="面码" />
<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:background="#ff0000"
android:gravity="center"
android:layout_weight="1"
android:text="小木" />
</LinearLayout></span>
用到了
android:gravity 就是当前控件内容显示的位置。
这里我是顺便提下,假设换有对不布局不理的童鞋
关注我的博客。我会个大家一同进步的。
android weight(权重)的详细分析的更多相关文章
- [Android Pro] Android签名与认证详细分析之二(CERT.RSA剖析)
转载自: http://www.thinksaas.cn/group/topic/335449/ http://blog.csdn.net/u010571535/article/details/899 ...
- android关于AndroidManifest.xml详细分析
http://my.eoe.cn/1087692/archive/5927.html 一.关于AndroidManifest.xmlAndroidManifest.xml 是每个android程序中必 ...
- Android Scroller类的详细分析
尊重原创作者,转载请注明出处: http://blog.csdn.net/gemmem/article/details/7321910 Scroller这个类理解起来有一定的困难,刚开始接触Scrol ...
- [Android Pro] Android签名与认证详细分析之一(CERT.RSA剖析)
转载自:http://www.thinksaas.cn/group/topic/335450/ 一.Android签名概述 我们已经知道的是:Android对每一个Apk文件都会进行签名,在Apk文件 ...
- Android PermissionChecker 权限全面详细分析和解决方案
原文: http://www.2cto.com/kf/201512/455888.html http://blog.csdn.net/yangqingqo/article/details/483711 ...
- android异步任务asyncTask详细分析
android中的耗时操作需要放在子线程中去执行 asynctask是对Handler和和线程池的封装,直接使用比THread效率更加的高效因为封装了线程池,比我们每次直接new Thread效率更高 ...
- Android中Scroller类的分析
今天看了一下项目中用到的ViewFlow控件,想弄明白其工作原理.从头开始分析,卡在"滚动"这儿了. 做android也快两年了,连最基本的滚动都不熟悉,真是惭愧...遂网上找资料 ...
- Android 布局之LinearLayout 子控件weight权重的作用详析(转)
关于Android开发中的LinearLayout子控件权重android:layout_weigh参数的作用,网上关于其用法有两种截然相反说法: 说法一:值越大,重要性越高,所占用的空间越大: 说法 ...
- Android 布局之LinearLayout 子控件weight权重的作用详析
关于Android开发中的LinearLayout子控件权重android:layout_weigh参数的作用,网上关于其用法有两种截然相反说法: 说法一:值越大,重要性越高,所占用的空间越大: 说法 ...
- android ListView 九大重要属性详细分析、
android ListView 九大重要属性详细分析. 1.android ListView 一些重要属性详解,兄弟朋友可以参考一下. 首先是stackFromBottom属性,这只该属性之后你做好 ...
随机推荐
- 02-vue过滤器和键盘修饰符
过滤器 概念:Vue.js 允许你自定义过滤器,可被用作一些常见的文本格式化.过滤器可以用在两个地方:mustache 插值和 v-bind 表达式.过滤器应该被添加在 JavaScript 表达式的 ...
- day03_12/13/2016_bean属性的设置之setter方法注入
- 数据清洗——python定位csv中的特定字符位置
之前发过一篇关于定位csv中的特殊字符的,主要是用到了python的自带的函数,近期又遇到了一些新的问题,比如isdigit()的缺点在于不能判断浮点型,以及小数中有多个小数点的情况.发现还是正则表达 ...
- js基础---元素操作时字符串拼接
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...
- Failed to resolve com.android.support:support-annotations 26.0.1
所有当前版本的Google库都存放在 Google的Maven repository (maven.google.com),不在旧的offline-capable support repositori ...
- [Windows Server 2012] 安装护卫神·主机管理系统
★ 欢迎来到[护卫神·V课堂],网站地址:http://v.huweishen.com★ 护卫神·V课堂 是护卫神旗下专业提供服务器教学视频的网站,每周更新视频.★ 本节我们将带领大家:安装护卫神·主 ...
- (转)Struts2快速入门
http://blog.csdn.net/yerenyuan_pku/article/details/66187307 Struts2框架的概述 Struts2是一种基于MVC模式的轻量级Web框架, ...
- 结果缓冲区 resbuf具体用法
struct resbuf *rb; rb=acutBulidlist(RTSTR,text(), rtpoint,,,,,) 创建圆用法. acdbEntGet 返回结果缓冲区 然后 rb-> ...
- Java数组数据类型
Java数组数据类型 数组是多个相同类型的数据的组合,数组中的元素可以是任何类型的数据: 一维数组 package com.ahabest.array; public class ArratTest ...
- 【LeetCode】4、Median of Two Sorted Arrays
题目等级:Hard 题目描述: There are two sorted arrays nums1 and nums2 of size m and n respectively. Find t ...