自定义ViewGroup 支持Margin

通常自定义VIewGroup步骤:
1.继承ViewGroup
2.重写onMeasure
3.重写onLayout
4.重写onDrawjava

此时,MarginLayoutParams cParams = (MarginLayoutParams) view1.getLayoutParams();会报异常
异常内容为:android

java.lang.ClassCastException: android.view.ViewGroup$LayoutParams cannot be cast to android.view.ViewGroup$MarginLayoutParams

因此要支持Margin还有必须 重写generateLayoutParams方法
实例 :markdown

@Override
    public ViewGroup.LayoutParams generateLayoutParams(AttributeSet attrs)
    {
        return new MarginLayoutParams(getContext(), attrs);
    }

这样就能够支持Margin 进行操做了ide

相关文章
相关标签/搜索