课程/Android/移动开发
带您完成神秘的涟漪按钮效果-提高篇
-
-
xzhang76
2017-05-24
- 完成退出动画
1.退出动画的runnable
private Runnable mExitRunnable = new Runnable() {
@Override
public void run() {
mExitProgress = mExitProgress + EXIT_INCREMENT;
if (mExitProgress > 1) {
Log.d("zxt", "exit runnable done");
onExitProgressChanged(1);
return;
}
float realProgress = mExitInterpolator.getInterpolation(mExitProgress);
onExitProgressChanged(realProgress);
// 延迟16毫秒再重绘, 保证洁面刷新频率接近60fps
scheduleSelf(mExitRunnable, SystemClock.uptimeMillis() + 16);
}
};
2.在onExitProgressChanged()要完成两个工作
(1)背景色由深变淡
(2)涟漪的圆颜色减淡
private void onExitProgressChanged(float realProgress) {
// 第一个参数是初始值, 背景色减淡
mBackgroundColor = changeColorAlpha(0x30000000, 1 - realProgress);
// 涟漪的圆减淡
mAlpha = (int) (INIT_ALPHA * (1 - realProgress));
onColorOrAlphaChanged();
invalidateSelf();
}
3.其他的地方好好看一下代码
-
0赞 · 0采集
-
-
最後的最後_
2017-04-14
- !!!
-
截图
0赞 · 0采集
-
-
最後的最後_
2017-04-14
- !!!不再遗留一点点红色了
-
截图
0赞 · 0采集
-
-
最後的最後_
2017-04-14
- !!!
-
截图
0赞 · 0采集
-
-
最後的最後_
2017-04-14
- !!!插个1进去,使得透明度最终回到0
-
截图
0赞 · 0采集
-
-
最後的最後_
2017-04-14
- !!!
-
截图
0赞 · 0采集
-
-
最後的最後_
2017-04-14
- !!!
-
截图
0赞 · 0采集
-
-
最後的最後_
2017-04-14
- 如何实现圆形区域减淡的效果呢?也就意味着对画笔透明度进行减淡。那么首先创建一个画笔透明度变量。然后将
画笔透明度设置进mPaint中去,接着将该透明度进行减淡
-
截图
0赞 · 0采集
-
-
最後的最後_
2017-04-14
- 背景颜色当动画完成之后逐渐消失
-
截图
0赞 · 0采集
-
-
最後的最後_
2017-04-14
- !!!
-
截图
0赞 · 0采集