安卓返回手势动画定制

        安卓返回手势的自定义view在SystemUI下的:
SystemUI/src/com/android/systemui/statusbar/phone/NavigationBarEdgePanel.java
        原生的动画是画一个箭头。如何修改成像小米或者魅族那样的波浪形状呢?
        其实很简单,就是在onDraw里绘制一个Bezzel曲线。首先在构造函数设定Paint

mBezzelPaint.setStyle(Paint.Style.FILL);
mBezzelPaint.setColor(0x000000);//30%透明度黑色
mBezzelPaint.setAlpha(75);
    如果不想保留箭头就吧onDraw里的其他代码注释了
float pointerPosition = mCurrentTranslation - mArrowThickness / 2.0f;
mBezzelPath.reset();
mBezzelPath.moveTo(mIsLeftPanel ? 0 : getWidth(), (getHeight() * 0.5f) - mLayoutParams.height/2);
mBezzelPath.cubicTo(mIsLeftPanel ? pointerPosition*2/3 : getWidth() - pointerPosition*2/3, (getHeight() * 0.5f) + mVerticalTranslation-mLayoutParams.height/6,mIsLeftPanel ? pointerPosition*2/3 : getWidth() - pointerPosition*2/3, (getHeight() * 0.5f) + mVerticalTranslation+mLayoutParams.height/6, mIsLeftPanel ? 0 : getWidth(), (getHeight() * 0.5f) + mLayoutParams.height/2);
canvas.drawPath(mBezzelPath, mBezzelPaint);
    具体的样式根据审美修改一下数值。
这里的mLayoutParams.height是navigation_edge_panel_height。是返回手势绘图的高度。
当然也能用canvas.drawBitmap去画动画小人😀
  • 8
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值