自定义View之组合控件

2019-12-17  本文已影响0人  钦_79f7

介绍

在开发过程中,需求中经常会遇到某几个控件组合到一起使用的UI,并且出现的频率很高,这个时候如果不进行封装的话,布局文件会出现大量重复的代码,显得很长很冗余,并且在Activity中也会多出很多findView的代码,这样的代码看着就不爽,而且我们写的时候也很腻歪,完全是无意思的重复。这个时候就需要用到封装,即自定义View,这个自定义View一般是不需要我们进行重写onMeasure(),onDraw(),onLayout()等方法的,只是根据需求将现有的View控件机型组合在一起,得到一个组合View控件,这样在布局文件中只需要写入这个组合View就能达到之前一大片View的效果。

要点总结

关于LayoutParams

  1. 给View设置LayoutParams时,要注意这个View要添加到父布局是什么Layout。

    在RelativeLayout中添加View,要使用RelativeLayout的LayoutParams设置View的LayoutParams参数;LinearLayout中添加View要使用LinearLayout的LayoutParmas......

  2. 给View设置Margin与Pading属性

    通过LayoutParams

    setMargin(int left,int top,int right,int bottom)
    

    设置View的各个方向的Margin。

    设置Pading要利用View的方法

    setPading(int left,int top,int right,int bottom)
    

    PS:margin属性值得大小是不计算在View的width与height中的;pading属性值是要计算在width与height中的(即设置了pading值后,表面View的展示区域变小,但是实际上View本身绘制的区域是包含pading的范围的)

推荐阅读及参考

上一篇 下一篇

猜你喜欢

热点阅读