[Android总结]setFillViewport属性解释

setFillViewport

当子布局高度小于ScrollView的高度时,定义子布局match_parent或者fill_parent不起作用,因此设置layout_gravity也不起作用。在scrollview里添加属性android:fillViewport=”true” 就可以了,使得子布局高度和scrollview一样,而当子布局高度超过scrollview的高度时,这个属性就没有意义了。

setWillNotDraw

If this view doesn't do any drawing on its own, set this flag to allow further optimizations. By default, this flag is not set on View, but could be set on some View subclasses such as ViewGroup. Typically, if you override onDraw(Canvas) you should clear this flag.

设置view是否更改,如果用自定义的view,重写ondraw()应该将调用此方法设置为false,这样程序会调用自定义的布局。

setClipChildren

ViewGroup的clipChildren属性,决定其children是否要绘制超过其区域的部分

  • 默认为true:意为裁剪children,如果children边界超出parent,则会被裁减掉不显示,和正常一样
  • 设置为false:如果设置该属性的ViewGroup-A,其有一个ViewGroup的child-B,那么B的child-C如果边界超出了B的边界,则会完整显示。

setClipToPadding

view的clipPadding属性,决定绘制时,是否将其content(自身内容、children),绘制到其padding位置。

  • 默认为true:意为裁剪padding,绘制时padding区域的content将会被裁剪掉,也就是会正常显示padding
  • 设置为false:如果content达到padding区域,会覆盖padding区域展示content

你可能感兴趣的:([Android总结]setFillViewport属性解释)