zoukankan      html  css  js  c++  java
  • 布局中的layout_weight属性

    "weight"顾名思义是权重的意思,layout_weight 用于给一个线性布局中的诸多视图的重要程度赋值。所有的视图都有一个layout_weight值,默认为零,意思是需要显示多大的视图就占据多大的屏幕空间。这就不难解释为什么会造成上面的情况了:Button1~Button5都设置了layout_height和layout_width属性为wrap_content即包住文字内容,他们都没有设置layout_weight 属性,即默认为0.,这样Button1和Button2根据需要的内容占据了整个屏幕,别的就显示不了啦!

    若赋一个高于零的值,则将父视图中的可用空间分割,分割大小具体取决于每一个视图的layout_weight值以及该值在当前屏幕布局的整体layout_weight值和在其它视图屏幕布局的layout_weight值中所占的比率而定。举个例子:比如说我们在 水平方向上有一个文本标签和两个文本编辑元素。该文本标签并无指定layout_weight值,所以它将占据需要提供的最少空间。如果两个文本编辑元素每一个的layout_weight值都设置为1,则两者平分在父视图布局剩余的宽度(因为我们声明这两者的重要度相等)。如果两个文本编辑元素其中第一个的layout_weight值设置为1,而第二个的设置为2,则剩余空间的三分之二分给第一个,三分之一分给第二个(数值越小,重要度越高)。 

    见代码,第一个button权重最高,会要显示完整的,会吧button2给挤掉。

    如果两个权重一样的话且layout_weight一样,就每个占半个屏幕

    如果第一个weight为1,第二个weight为2,那第一次占3/2的屏幕,第二个占3/1的屏幕

     <Button
    android:id="@+id/button1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Butto1111111111111111111111111111111111111111"
    android:layout_weight="0"
    />

    <Button
    android:id="@+id/button2"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Button222222222222222222"
    android:layout_weight="1" />


    外层的layout要用android:orientation="horizontal"

  • 相关阅读:
    分享知识-快乐自己:Shiro 退出登陆清空缓存实现
    分享知识-快乐自己:复选框、全选/反选/获取值
    分享知识-快乐自己:初中级 java 面试题宝典
    分享知识-快乐自己:Liunx 搭建 Dubbo
    分享知识-快乐自己:Liunx 安装 Zookeeper
    分享知识-快乐自己:揭秘HDFS
    计算文件的长度
    fgetc, getchar(), fscanf的问题
    绘制数学函数图像
    C语言遍历一个文件夹下面的所有文件
  • 原文地址:https://www.cnblogs.com/shenbin/p/2395619.html
Copyright © 2011-2022 走看看