请注意现在横竖屏切换不是在一个activity中!
我注册两个activity=A1,A2,A1朝向是portrait,A2朝向是landscape,点击A1中的按钮开启A2,其中我设置了开启动画,在下面的代码中,可惜没有动画展示,反而导致会有瞬间的黑屏出现。
我觉得和横竖屏切换时的生命周期有关系,但是不知道该怎么做,有人给点思路么?
<set xmlns:android="http://schemas.android.com/apk/res/android" >
 
    <translate
        android:duration="2000"
        android:fromYDelta="0"
        android:toYDelta="-100%p" />
 
    <alpha
        android:duration="2000"
        android:fromAlpha="1.0"
        android:toAlpha="0.0" />
 
</set>
<set xmlns:android="http://schemas.android.com/apk/res/android" >
 
    <translate
        android:duration="2000"
        android:fromYDelta="100%p"
        android:toYDelta="0" />
 
    <alpha
        android:duration="2000"
        android:fromAlpha="0.0"
        android:toAlpha="1.0" />
 
</set>Android界面

解决方案 »

  1.   

    楼主你设置了A2的开启动画,你设置A1的关闭动画了没,这可能是黑屏出现的原因之一啊。你提出的问题应该不是横竖屏切换的问题,应该是activity启动和关闭的效果问题。
      

  2.   

    你觉得我只设置一个动画又何必把两个动画文件都贴上来?
    overridePendingTransition(R.anim.anim_fromright_toup6,R.anim.anim_down_toleft6);
    不就是这么设置?
      

  3.   

    package com.canvas.draw;import android.app.Activity;
    import android.content.Intent;
    import android.os.Bundle;
    import android.view.View;
    import android.view.View.OnClickListener;
    import android.widget.Button;public class MainActivity extends Activity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
    // TODO Auto-generated method stub
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
    Button b= (Button) findViewById(R.id.button);
    b.setOnClickListener(new OnClickListener() {

    public void onClick(View v) {
    // TODO Auto-generated method stub
    Intent intent = new Intent();
    intent.setClass(MainActivity.this,Newmain.class);
    startActivity(intent);
    overridePendingTransition(R.anim.anim_fromright_toup6,R.anim.anim_down_toleft6);
    }
    });
    }
    }package com.canvas.draw;import android.app.Activity;
    import android.os.Bundle;public class Newmain extends Activity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
    // TODO Auto-generated method stub
    super.onCreate(savedInstanceState);
    setContentView(R.layout.newmain);
    }
    }
    <manifest xmlns:android="http://schemas.android.com/apk/res/android"
        package="com.canvas.draw"
        android:versionCode="1"
        android:versionName="1.0" >    <uses-sdk
            android:minSdkVersion="8"
            android:targetSdkVersion="15" />    <application
            android:icon="@drawable/ic_launcher"
            android:label="@string/app_name"
            android:theme="@style/AppTheme" >
            <activity 
                android:name=".MainActivity"
                android:label="@string/title_activity_main"
                >
                <intent-filter>
                    <action android:name="android.intent.action.MAIN" />                <category android:name="android.intent.category.LAUNCHER" />
                </intent-filter>
            </activity>
            <activity
                android:name=".Newmain"
                android:screenOrientation="landscape"
                android:launchMode="singleTop"
                android:theme="@android:style/Theme.NoTitleBar"
                 >
            </activity>
            
        </application></manifest>
    全部代码