你怎么能淡出两张图像呢?

时间:2013-03-12 03:41:42

标签: android transition splash-screen

我在启动画面中加载了两张图片。第一张图像打开(启动闪屏),然后打开第二张图像。一旦第二张图像淡出,MainActivity就会启动。现在我的问题是如何使我的第一张图像淡出,然后用我的第二张图像淡入?

我也不是想在两者之间褪色。我试图做一个彻底的淡出然后淡出过渡。

splash.xml

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="horizontal"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:layout_gravity="center"
    android:id="@+id/lin_lay"
    android:gravity="center" >

    <ImageView
        android:contentDescription="@string/desc"
        android:orientation="horizontal"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/spinning_wheel_image"
        android:background="@drawable/splashscreen1" />

</LinearLayout>

mainanim.xml

<animation-list xmlns:android="http://schemas.android.com/apk/res/android" android:oneshot="false">
    <item android:drawable="@drawable/splashscreen1" android:duration="2500" />
    <item android:drawable="@drawable/splashscreen2" android:duration="4000" />
</animation-list>

Splash.java

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.splash);
    ourSong = MediaPlayer.create(Splash.this, R.raw.splashsound);
    ourSong.start();
    Thread timer = new Thread(){
        public void run(){
            try{
                sleep(10500);
            } catch (InterruptedException e){
                e.printStackTrace();
            }finally{
                Intent openStartingPoint = new Intent("com.theapplication.app.STARTINGPOINT");
                startActivity(openStartingPoint);

            }
        }
    };
    timer.start();
}

@Override
public void setRequestedOrientation(int requestedOrientation) {
    super.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
}

@Override
public void onWindowFocusChanged(boolean hasFocus) {
    super.onWindowFocusChanged(hasFocus);
    ImageView mainimage = (ImageView)findViewById(R.id.spinning_wheel_image);
    mainimage.setBackgroundResource(R.anim.mainamin);
    mainanimation = (AnimationDrawable) mainimage.getBackground();
    mainanimation.start();
}

1 个答案:

答案 0 :(得分:0)

您可以尝试此demo.

可能对您有所帮助。