一个圆形的布局设计,先看效果图
一般我们自定义UI,当然是先写一个类继承View(ViewGroup),然后定义几个我们可以自定义的属性,在此处笔者定义了以下这些属性
var angle: Float = 0f
set (value) {
field = value % 360f
requestLayout()
}
/**
* 第一个控件所在的位置,为0时表示为顺时针90度,为正数时则从顺时针90度开始逆时针反转,否则为顺时针,
*/
var angleOffset: Float = 0f
set (value) {
field = value % 360f
requestLayout()
}
/**
* 圆的半径
*/
var radius = FITS_LARGEST_CHILD
set(value) {
field = value
requestLayout()
}