|
、动画添加到Layout
此处需要将所有动画添加到Layout中,并将各动画的对象放入同一list(即代码中的animatorList)。
-
//以BallPulseIndicator为例
-
myLayout.addComponent(ballPulseIndicator);//BallPulseIndicator添加到Layout
-
animatorList.add(ballPulseIndicator);//BallPulseIndicator对象放入list
-
//以BallGridPulseIndicator为例
-
myLayout.addComponent(ballGridPulseIndicator);
-
animatorList.add(ballGridPulseIndicator);
3、设置四个按钮,用以控制所有动画同时启动、停止、隐藏和显示。
以"启动"效果为例,startBtn按钮设置了Click监听,按下按钮时,会执行startAllAnimator ()方法,startAllAnimator ()方法中借助for循环,遍历animatorList中的每一个动画的对象,并调用每个对象的start()方法,达到动画启动的效果。
-
//按钮监听
-
startBtn.setClickedListener(component-> startAllAnimator(animatorList));//启动
-
endBtn.setClickedListener(component-> stopAllAnimator(animatorList));//停止
-
hideBtn.setClickedListener(component-> hideAllAnimator(animatorList));//隐藏
-
showBtn.setClickedListener(component-> showAllAnimator(animatorList));//显示
-
//start
-
private void startAllAnimator(ArrayList<AVLoadingIndicatorView> avLoadingIndicatorViews){
-
for (int i = 0; i < avLoadingIndicatorViews.size(); i++) {
-
avLoadingIndicatorViews.get(i).start();//启动
-
}
-
}
-
//stop
-
private void stopAllAnimator(ArrayList<AVLoadingIndicatorView> avLoadingIndicatorViews){
-
for (int i = 0; i < avLoadingIndicatorViews.size(); i++) {
-
avLoadingIndicatorViews.get(i).stop();//停止
-
}
-
}
-
//hide
-
private void hideAllAnimator(ArrayList<AVLoadingIndicatorView> avLoadingIndicatorViews){
-
for (int i = 0; i < avLoadingIndicatorViews.size(); i++) {
-
avLoadingIndicatorViews.get(i).hide();//隐藏
-
}
-
}
-
//show
-
private void showAllAnimator(ArrayList<AVLoadingIndicatorView> avLoadingIndicatorViews){
-
for (int i = 0; i < avLoadingIndicatorViews.size(); i++) {
-
avLoadingIndicatorViews.get(i).show();//显示
-
}
-
}
Library解析
1. 功能实现
每个动画效果的绘制都需要执行初始化设置、添加绘画任务、创建动画三个步骤,下面以BallPulseIndicator为例对这三个步骤进行详细介绍。

(编辑:平凉站长网)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|