zoukankan      html  css  js  c++  java
  • ViewGroup和LayoutParams之间的关系

    大家可以回忆一下,当在LinearLayout中写childView的时候,可以写layout_gravity,layout_weight属性;在RelativeLayout中的childView有layout_centerInParent属性,却没有layout_gravity,layout_weight,这是为什么呢?这是因为每个ViewGroup需要指定一个LayoutParams,用于确定支持childView支持哪些属性,比如LinearLayout指定LinearLayout.LayoutParams等。如果大家去看LinearLayout的源码,会发现其内部定义了LinearLayout.LayoutParams,在此类中,你可以发现weight和gravity的身影。

    如果在自定义的Viewgroup中 自定义了内部类LayoutParams 则必须重写该方法

    @Override
        public ViewGroup.LayoutParams generateLayoutParams(AttributeSet attrs)
        {
           //返回自定义的LayoutParams
            return new MarginLayoutParams(getContext(), attrs);
        }
     
    y以上内容转载自  (自定义ViewGroup学习):http://www.2cto.com/kf/201408/322460.html
  • 相关阅读:
    ios 动画与2D、3D绘图
    ios UI设计与开发 按钮、图标和图片
    算法基础
    快速排序
    ios网络开发 同步下载和异步下载
    用C#调用Execl
    SQL函数大全
    出差
    窗体间的互操作
    垂直滚动条代码
  • 原文地址:https://www.cnblogs.com/xing-yun/p/4317533.html
Copyright © 2011-2022 走看看