在编写自定义view过程当中,可能涉及到自定义容器类控件,因为存在容器类控件,并不能满足要求,那么我们需要通过继承ViewGroup类来定义容器类控件。本篇博客,会通过简单的实例给大家介绍继承ViewGroup之后,我们需要做那些必要的操作。
比如实现流式布局,何为流式布局,其实就是将容器当中所排布的控件,从左到右进行排布,然后这一行的高度以这行当中最高的控件为基准,如果排布过程当中,剩余的宽度小于要排布进去的控件的宽度,那么就自动换行,将要排布进去的控件存放到下一行当中,然后下一行的底部高度,是上一行最高的控件底部的高度。如下图所示:
如何实现这个功能呢,详细代码如下:
public class FlowLayout extends ViewGroup{
public FlowLayout(Context context, AttributeSet attrs) {
super(context, attrs);
}
// onLayout :计算容器内部每个控件应该放置的位置。