一般更多按钮,就是3个圆点,如果用自定义View绘制也很简单,就是绘制3个点,从左到右,或者从上到下。
Android 自定义View绘制更多操作按钮.png
原理
关键参数
圆点半径(画圆点必须的)
圆点间的间距,一般采用百分比的方式,无论怎么改变View尺寸,都可以等比缩放,例如间距的计算就是将半径 * 固定比例计算的。
步骤:
水平3个圆点,画布移动到中心后,canvas.drawCircle()画一个中心圆点,再计算左边圆点的位置,和中心圆点坐标差别的地方就是x坐标不再为0,而是负的圆点间距,而右边圆点则是正的圆点间距。
垂直3个圆点,难道我们又要重新计算坐标?其实不需要,有了上面画水平3点的方法,水平和垂直的区别就是旋转90度而已,所以我们将Canvas旋转90度即可。
完整代码
自定义属性
Java代码
public class MoreActionView extends View {
/**
* 水平排列
*/
private static final int ORIENTATION_HORIZONTAL = 1;
/**
* 垂直排列
*/
private static final int ORIENTATION_VERTIC