Я работаю над своим первым проектом 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>
Пара замечаний:
Прямо сейчас заставка только для показа (то есть я знаю, что сейчас она не служит никакой реальной цели).
Я могу вставить AndroidManifest xml или что-то еще, что, по вашему мнению, может понадобиться.
Любая помощь приветствуется. Спасибо!