自定义ViewGroup 支持Margin
2017-01-11 17:09
316 查看
一般自定义VIewGroup步骤:
1.继承ViewGroup
2.重写onMeasure
3.重写onLayout
4.重写onDraw
此时,MarginLayoutParams cParams = (MarginLayoutParams) view1.getLayoutParams();会报异常
异常内容为:
所以要支持Margin还有必须 重写generateLayoutParams方法
实例 :
这样就可以支持Margin 进行操作了
1.继承ViewGroup
2.重写onMeasure
3.重写onLayout
4.重写onDraw
此时,MarginLayoutParams cParams = (MarginLayoutParams) view1.getLayoutParams();会报异常
异常内容为:
java.lang.ClassCastException: android.view.ViewGroup$LayoutParams cannot be cast to android.view.ViewGroup$MarginLayoutParams
所以要支持Margin还有必须 重写generateLayoutParams方法
实例 :
@Override public ViewGroup.LayoutParams generateLayoutParams(AttributeSet attrs) { return new MarginLayoutParams(getContext(), attrs); }
这样就可以支持Margin 进行操作了
相关文章推荐
- 自定义ViewGroup (1)支持margin,gravity以及水平,垂直排列
- 自定义ViewGroup支持margin,gravity以及水平,垂直排列
- 自定义ViewGroup (支持margin,gravity以及水平,垂直排列,滑动和点击事件)
- android自定义ViewGroup之瀑布流FlowLayout 简洁明了 支持padding和margin 100行代码搞定
- 自定义 ViewGroup 支持无限循环翻页之一(重写 onLayout以及 dispatchDraw)
- 自定义ViewGroup实现流式布局(支持ViewGroup Padding, 子View margin,每行高度可以不一样)
- android之自定义ViewGroup和自动换行的布局的实现(支持按钮间隔)
- 自定义 ViewGroup 支持无限循环翻页之二(处理触摸事件)
- 自定义ViewGroup (2)支持滑动,并处理多指触摸可能产生的跳动问题
- 自定义ViewGroup考虑padding,margin
- 自定义ViewGroup (2)支持滑动,并处理多指触摸可能产生的跳动问题
- 自定义ViewGroup之margin和padding
- 【Android】快速开发偷懒必备,一句话搞定所有ViewGroup的Adapter . 支持自定义ViewGroup
- 自定义ViewGroup-自定义LayoutParams支持显示方位
- 在自定义ViewGroup应该怎样去考虑padding和margin
- 自定义 ViewGroup 支持无限循环翻页之三(响应回调事件)
- <Android 进阶(三)> 自定义View之支持Gravity的ViewGroup
- 覆写onLayout进行layout,含自定义ViewGroup例子
- 自定义TextView支持第三方字体库(以隶书为例)
- android 自定义ViewGroup和对view进行切图动画实现滑动菜单SlidingMenu