我正在开发我的第一个Android项目,并且我将首先制作一个简单的启动画面,在主菜单显示前淡出为黑色。到目前为止它的工作。问题在图像淡出后立即出现,在显示主菜单之前,它瞬间弹回一秒。淡出问题 - Android动画
下面是SplashActivity.java代码:
public class SplashActivity extends Activity
{
LinearLayout mLinearLayout;
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.splash);
mLinearLayout = new LinearLayout(this);
ImageView i = new ImageView(this);
i.setImageResource(R.drawable.splash);
mLinearLayout.addView(i);
setContentView(mLinearLayout);
Animation fade = AnimationUtils.loadAnimation(this, R.anim.fade_out);
i.startAnimation(fade);
fade.setAnimationListener(new AnimationListener() {
public void onAnimationEnd(Animation animation)
{
startActivity(new Intent(SplashActivity.this, MenuActivity.class));
SplashActivity.this.finish();
}
public void onAnimationRepeat(Animation arg0) {
}
public void onAnimationStart(Animation arg0) {
}
});
}
}
下面是splash.xml代码:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android = "http://schemas.android.com/apk/res/android"
android:orientation = "vertical"
android:layout_width = "match_parent"
android:layout_height = "match_parent"
android:background = "#000">
</LinearLayout>
最后,这里是为淡出XML:
<set android:shareInterpolator="false" xmlns:android="http://schemas.android.com/apk/res/android">
<alpha
android:fromAlpha="1.0"
android:toAlpha="0.0"
android:duration="500"
android:startOffset="2500">
</alpha>
</set>
一对夫妇笔记: 现在的初始屏幕只是为了表演(意思是我知道ri现在它没有达到任何真正的目的)。 我可以粘贴AndroidManifest xml或其他您认为可能需要的东西。
任何和所有的帮助表示赞赏。谢谢!
请注意,您也可以调用'fade.setFillAfter(true)';这将在动画结束时将最终结果应用于视图。 – dmon