用动画实现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>