闪屏页介绍
在应用中有动态的闪屏页,有静态的闪屏页,但归根结底其实是一个背景加一个图片设置一些动画制作的,现在我们一起看看这个闪屏页是怎么实现的吧。
获取布局控件的对象
RelativeLayout rl;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//初始化布局
setView();
//设置动画
setAnim();
}
private void setView() {
rl=(RelativeLayout)findViewById(R.id.rl);
}
开始设置动画效果
这里我们使用在Activity界面中使用AnimationSet类实现,这个类里可以添加旋转、渐变和缩放等动画效果,然后交给View加载。
我们一起看看代码。
/**
* 创建动画
*/
private void setAnim() {
AnimationSet set=new AnimationSet(false);
//旋转
RotateAnimation roate = new RotateAnimation(0, 360, Animation.RELATIVE_TO_SELF, 0.5f, Animation.RELATIVE_TO_SELF, 0.5f);
roate.setDuration(3000);
roate.setFillAfter(true);//保持动画状态
//渐变
AlphaAnimation alpha=new AlphaAnimation(0,1);
alpha.setDuration(3000);//设置时长
alpha.setFillAfter(true);//保持动画状态
//缩放动画
ScaleAnimation scale=new ScaleAnimation(0,1,0,1,Animation.RELATIVE_TO_SELF,0.5f,Animation.RELATIVE_TO_SELF,0.5f);
scale.setDuration(3000);
scale.setFillAfter(true);
set.addAnimation(roate);
set.addAnimation(alpha);
set.addAnimation(alpha);
//这里是动画的监听效果
set.setAnimationListener(new Animation.AnimationListener() {
@Override
public void onAnimationStart(Animation animation) {
}
@Override
public void onAnimationEnd(Animation animation) {
Intent intent=new Intent(MainActivity.this,GuideActivity.class);
startActivity(intent);
}
@Override
public void onAnimationRepeat(Animation animation) {
}
});
rl.setAnimation(set);
}
创建RotateAnimation、ScaleAnimation和AlphaAnimation对象交给AnimationSet类设置对象就可以实现我们的闪屏页了,然后在它的监听方法结束的方法里,就可以跳转到我们的引导页或者主页了。
今天遇到一个异常,查找百度发现是.9.png的问题,android studio会验证.9图片的合法性,解决办法是删除.9图片或者默认不检查.9图片的合法性。
Error:java.util.concurrent.ExecutionException:com.android.ide.common.process.ProcessException:
Error:Execution failed for task':app:mergeDebugResources'.
>Error:java.util.concurrent.ExecutionException:com.android.ide.common.process.ProcessException: