安卓自定义控件之自动换行ViewGroup

目标:

安卓自定义控件之自动换行ViewGroup

需求:

1、内部样式可变

2、内部内容不用对齐,但是需要自动换行

实现思路:

其实思路挺简单的,就是需要重新去自定义一个ViewGroup。在

在onMeasure中根据添加的子view去测绘每一个子view的宽高,然后确定整个父ViewGroup的长宽,然后再设置给父控件。

在onLayout中根据子view需要的位置重新给子view进行位置排布。

整体就只需要重写这两个地方。

功能实现:

1、  在Onmeasure中根据子空间对父控件需要的位置进行测绘:

安卓自定义控件之自动换行ViewGroup

安卓自定义控件之自动换行ViewGroup

安卓自定义控件之自动换行ViewGroup

这里注意两种情况,一种是:子view的宽度累加量没有超过父控件的宽度。另外一种是:子view的宽度累加量超过了父控件的宽度。

2、在onlayout中为子空间进行排版

安卓自定义控件之自动换行ViewGroup

安卓自定义控件之自动换行ViewGroup

这里还是需要讨论两种情况,一种是:子view的宽度累加量没有超过父控件的宽度。另外一种是:子view的宽度累加量超过了父控件的宽度。

使用

安卓自定义控件之自动换行ViewGroup

安卓自定义控件之自动换行ViewGroup

因为,子view的样式各异,所以我们需要独自定义。而我们自定义的父控件仅仅是帮忙换行用的。

 

 

 

 

 

相关文章:

  • 2021-04-27
  • 2022-12-23
  • 2021-12-06
  • 2021-05-22
  • 2022-03-10
  • 2021-05-06
  • 2021-06-26
猜你喜欢
  • 2022-12-23
  • 2021-10-20
  • 2021-09-20
  • 2021-04-29
  • 2021-12-10
  • 2021-07-27
相关资源
相似解决方案