GeooyMenu 设置一开始不显示

这是开源代码链接
GeooyMenu

简单说下,这个菜单的所实现的效果.就是点击一个按钮会弹出多个子按钮的这么一个动画效果.
在不修改代码的前提下,界面一进去,子菜单就已经显示出来了.
如图所示
想要的效果是,一开始不显示子菜单,点击后才显示.

源码:

 protected void onDraw(Canvas canvas) {
        super.onDraw(canvas);
            for (int i = 0; i < mNumberOfMenu; i++) {
                CirclePoint circlePoint = mMenuPoints.get(i);
                float x = (float) (circlePoint.radius * Math.cos(circlePoint.angle));
                float y = (float) (circlePoint.radius * Math.sin(circlePoint.angle));
                canvas.drawCircle(x + mCenterX, mCenterY - y, mMenuButtonRadius, mCirclePaint);
                if (i < mDrawableArray.size()) {
                    canvas.save();
                    canvas.translate(x + mCenterX - mMenuButtonRadius / 2, mCenterY - y - mMenuButtonRadius / 2);
                    //canvas.translate(x , y);
                    mDrawableArray.get(i).draw(canvas);  //将drawable画到小圆中
                    canvas.restore();
                }
            }
        canvas.save();
        canvas.translate(mCenterX, mCenterY);
        Path path = createPath();
        canvas.drawPath(path, mCirclePaint);
        canvas.drawPath(path, mCircleBorder);
        canvas.rotate(mRotationAngle);
        canvas.drawBitmap(mPlusBitmap, -mPlusBitmap.getWidth() / 2, -mPlusBitmap.getHeight() / 2, mCirclePaint);
        canvas.restore();
    }

在onDraw方法中,打印circlePoint.radius是一直在变化的.当你关闭的时候radius等于0.所以就去找在哪里设置了这个radius.

/*
在onSizeChanged方法中,看到这行代码.
mGab表示子菜单之间的距离,也就是你在xml文件中设置的app:gap_between_menu_fab
*/
circlePoint.setRadius(mGab); 
//所以想一开始不显示在菜单,注释掉这句话.再一开始的时候,不要让view画出子菜单项

最后把private boolean isMenuVisible = true;修改成false
纯属个人看法!!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值