首先要明确权重分配的是那些空间?

权重是依照比例分配屏幕的剩余空间

对这句话不理解的能够看下图

假如我们希望剩余的空间平分给空间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(权重)的详细分析的更多相关文章

  1. [Android Pro] Android签名与认证详细分析之二(CERT.RSA剖析)

    转载自: http://www.thinksaas.cn/group/topic/335449/ http://blog.csdn.net/u010571535/article/details/899 ...

  2. android关于AndroidManifest.xml详细分析

    http://my.eoe.cn/1087692/archive/5927.html 一.关于AndroidManifest.xmlAndroidManifest.xml 是每个android程序中必 ...

  3. Android Scroller类的详细分析

    尊重原创作者,转载请注明出处: http://blog.csdn.net/gemmem/article/details/7321910 Scroller这个类理解起来有一定的困难,刚开始接触Scrol ...

  4. [Android Pro] Android签名与认证详细分析之一(CERT.RSA剖析)

    转载自:http://www.thinksaas.cn/group/topic/335450/ 一.Android签名概述 我们已经知道的是:Android对每一个Apk文件都会进行签名,在Apk文件 ...

  5. Android PermissionChecker 权限全面详细分析和解决方案

    原文: http://www.2cto.com/kf/201512/455888.html http://blog.csdn.net/yangqingqo/article/details/483711 ...

  6. android异步任务asyncTask详细分析

    android中的耗时操作需要放在子线程中去执行 asynctask是对Handler和和线程池的封装,直接使用比THread效率更加的高效因为封装了线程池,比我们每次直接new Thread效率更高 ...

  7. Android中Scroller类的分析

    今天看了一下项目中用到的ViewFlow控件,想弄明白其工作原理.从头开始分析,卡在"滚动"这儿了. 做android也快两年了,连最基本的滚动都不熟悉,真是惭愧...遂网上找资料 ...

  8. Android 布局之LinearLayout 子控件weight权重的作用详析(转)

    关于Android开发中的LinearLayout子控件权重android:layout_weigh参数的作用,网上关于其用法有两种截然相反说法: 说法一:值越大,重要性越高,所占用的空间越大: 说法 ...

  9. Android 布局之LinearLayout 子控件weight权重的作用详析

    关于Android开发中的LinearLayout子控件权重android:layout_weigh参数的作用,网上关于其用法有两种截然相反说法: 说法一:值越大,重要性越高,所占用的空间越大: 说法 ...

  10. android ListView 九大重要属性详细分析、

    android ListView 九大重要属性详细分析. 1.android ListView 一些重要属性详解,兄弟朋友可以参考一下. 首先是stackFromBottom属性,这只该属性之后你做好 ...

随机推荐

  1. linux 防火墙关闭

     systemctl status firewalld.servicesystemctl status iptables.service关闭防火墙,selinux15:54:43运维-李浩 2017/ ...

  2. Spring AOP(aspect oriented programming) 转载

    1.面向切面的基本原理 软件系统可以看成是由一组关注点组成的,其中,直接的业务关注点,是直切关注点.而为直切关注点提供服务的,就是横切关注点. 01.什么是面向切面编程 横切关注点:影响应用多处的功能 ...

  3. Android RecyclerView遇到notifyDataSetChanged无效时的解决方案

    一.简述 不管AbsListView(ListView.GridView)或是新出的RecyclerView,在使用notifyDataSetChanged方法更新列表数据时,一定要保证数据为同个对象 ...

  4. MySQL 多表批量更新

    使用inner join 进行表更新sql 与mysql 的区别: SQL UPDATE W SET W.字段=新数据 FROM 表a W INNER JOIN 表B d ON W.wID=D.wid ...

  5. 关闭掉eclipse启动的自动更新功能(提高打开eclipse的速度)

  6. RPU4+1视图(转)

    4+1视图模型概况 Kruchten 提出了一个"4+1"视图模型,从5个不同的视角包括包括逻辑试图.进程视图.物理视图.开发视图.场景视图来描述软件体系结构.每一个视图只关心系统 ...

  7. C# Request

    string type = Request["type"]; //值为null; //?type= 值为""; //?type=12 值为"12&qu ...

  8. 解决 The file will have its original line endings in your working directory

    首先出现这个问题主要原因是:我们从别人github地址上通过git clone下载下来,而又想git push到我们自己的github上,那么就会出现上面提示的错误信息 此时需要执行如下代码: git ...

  9. 让System.Drawing.Bitmap可以在linux运行

    .net core的bitmap使用的是以下类库,但无法在linux运行 https://github.com/CoreCompat/CoreCompat 在linux运行需要安装runtime.li ...

  10. CAD设置图层亮度(com接口)

    主要用到函数说明: MxDrawXCustomFunction::Mx_SetLayerBright 设置显示亮度,默认值为100%.详细说明如下: 参数 说明 LPCTSTR pszLayerNam ...