用动画实现android app启动界面的渐变效果

几乎所有的app在启动的时候都会有一个类似于开机画面的东西,往往是一张图片,上面写着这个应用程序的提示文字,比如腾讯微博的启动界面就是这样的:

其实实现这种效果的原理很简单,启动界面也是一个activity,当时间到了之后销毁这个activity,并启动下一个activity。下面我们实现一个这样的启动画面,并且加上一个渐变的效果:

public class AppStart extends Activity {
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        final View view = View.inflate(this, R.layout.start, null);
        setContentView(view);
        //渐变展示启动屏
        AlphaAnimation aa = new AlphaAnimation(0.3f,1.0f);
        aa.setDuration(2000);
        view.startAnimation(aa);
        aa.setAnimationListener(new AnimationListener()
        {
            @Override
            public void onAnimationEnd(Animation arg0) {
                redirectTo();
            }
            @Override
            public void onAnimationRepeat(Animation animation) {}
            @Override
            public void onAnimationStart(Animation animation) {}
        });
    }
    /**
     * 跳转到...
     */
    private void redirectTo(){       
        Intent intent = new Intent(this, Main.class);
        startActivity(intent);
        finish();
    }
}

其中start.xml的代码如下:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:gravity="bottom"
    android:background="@drawable/start_background">
</LinearLayout>