不少应用在设计的时候都会有几个引导界面,这里总结一下几个典型实现:
之前自己做过仅具有一个引导界面的应用,在welcomeActivity中设置一张图片,更复杂的为该图片设置一个渐入渐出的动画,然后利用new handler的postdelay方法跳转到另一个界面。
new Handler().postDelayed(new Runnable(){ @Override public void run(){ Intent intent = new Intent (GuideViewDoor.this,OtherActivity.class); startActivity(intent); GuideViewDoor.this.finish(); } }, 2300);
下面是几个具有多个引导界面的示例:
具有微信动画效果的引导:
类似于人人开机动画的引导:
实现仅第一次使用时候显示开机引导界面的功能:
上面几个引导界面的实现都是借助于viewpager通过左右滑动来实现,而这款人人引导界面的实现则是几张图片的动画展示和自动切换。
用到了渐现、放大、渐隐几类动画资源。通过监听动画的播放事件,在动画结束的时候进行监听来实现。
//重写动画结束时的监听事件,实现了动画循环播放的效果 @Override public void onAnimationEnd(Animation animation) { if (index < (animations.length - 1)) { //一个图片需要显示所有3种动画 //在结束之后开始下面一条动画 ivGuidePicture.startAnimation(animations[index + 1]); } else { //显示下面一个图片 currentItem++; //如果3副图片都展示完毕,那么回归第一幅图片 if (currentItem > (pictures.length - 1)) { currentItem = 0; } ivGuidePicture.setImageDrawable(pictures[currentItem]); ivGuidePicture.startAnimation(animations[0]); } } @Override public void onAnimationRepeat(Animation animation) { } }