zoukankan      html  css  js  c++  java
  • GridLayout: GridLayout中Spec属性

    如果想要让GridLayout中的子元素能够平均分配,就需要用到

    android:layout_columnWeight="1"
    android:layout_rowWeight="1"

    该属性在API21 (android5.0)时引入,如果要实现全部平均效果,可以在给子元素指定LayoutParams里,指定:

    params.columnSpec=GridLayout.spec(GridLayout.UNDEFINED, 1f);

    PS: GridLayout.UNDEFINED 代表不指定列的位置。

    则效果如下(循环添加20个按钮):

     如果想对某一个位置的子元素做出修改,则可以单独指定该元素的Spec, 如要实现下列的效果:

    其中的第一个元素,位置在(0,0),它的Spec就可以这样写:

    params.rowSpec = GridLayout.spec(0,1,3f);
    // 第一个0代表第0行
    // 第二个1代表占了多少行
    // 第三个3f代表权重是多少
    params.columnSpec = GridLayout.spec(0,4,1f);
    // 第一个0代表第0列
    // 第二个4代表占了多少列
    // 第三个1f代表权重是多少

    注意:
    GridLayout.spec(); 这个方法是一个重点,需要好好看一下,而且由于它有几个重载方法,使用时也要注意。比如说下面两个方法:

     public static Spec spec(int start, int size)
     public static Spec spec(int start, float weight)

    所以,如果调用的是第二个方法,一定要注意float参数的表示方法,加个f,如:GridLayout.spec(0,1f); 关于weight属性的理解可参考:https://www.cnblogs.com/yongdaimi/p/11821616.html

    参考链接:

    1. GridLayout使用总结

    2. GridLayout 平均分配

  • 相关阅读:
    Storm监控文件夹变化 统计文件单词数量
    Storm默认配置 default.yaml
    Storm集群搭建
    Storm概念
    zookeeper安装
    zookeeper
    zookeeper应用
    zookeeper应用
    zookeeper应用
    HDU 3473 Minimum Sum (划分树求区间第k大带求和)(转)
  • 原文地址:https://www.cnblogs.com/yongdaimi/p/11821310.html
Copyright © 2011-2022 走看看