四十八、先出现一张图片再出现应用首界面

现在市场上很多应用,进入的时候会首先出现一张图片,过几秒后在出现应用的首界面。这一功能可能有很多不同的实现方法,这里我提供一种使用动画来实现的方法。

思路:在首个activity的onCreate方法中,先动态生成有动画的图片,然后再加载首页面。

public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);

//创建一个布局管理器控件
LinearLayout linearLayout=new LinearLayout(AnimationActivity.this);
setContentView(linearLayout);
//设置orientation:0为horizontal, 1表示为vertical
// linearLayout.setOrientation(0);

ImageView iv=new ImageView(AnimationActivity.this);
iv.setImageResource(R.drawable.badge);
//可以继续生成需要的控件
LinearLayout.LayoutParams lp1 = new LinearLayout.LayoutParams(ViewGroup.LayoutParams.FILL_PARENT,ViewGroup.LayoutParams.FILL_PARENT);
linearLayout.addView(iv,lp1);

AlphaAnimation animation = new AlphaAnimation(0.8f, 1.0f);//淡入淡出动画,参数是指从哪个透明度到哪个透明度
animation.setDuration(3000); //动画持续时间,以毫米计算
//设置一个监听器,监听在动画执行的各个阶段会得到通知,从而调用相应方法
animation.setAnimationListener(new AnimationListener() {
@Override
public void onAnimationStart(Animation animation) { //动画开始时执行的方法
// TODO Auto-generated method stub
Log.d("sn", "onAnimationStart");
}
@Override
public void onAnimationRepeat(Animation animation) {
// TODO Auto-generated method stub
Log.i("sn", "onAnimationRepeat");
}
@Override
public void onAnimationEnd(Animation animation) { //动画结束时执行的方法
// TODO Auto-generated method stub
Log.v("sn", "onAnimationEnd");

//动画执行完毕后,就加载首页面的布局。进而操作首页面即可
setContentView(R.layout.main);
initView();
}
});
iv.setAnimation(animation); //动画的绑定


}

原文地址:https://www.cnblogs.com/suinuaner/p/android_fortyeight.html