方向模式:一次显示纵向,然后按设备方向显示

时间:2015-03-27 08:54:01

标签: android screen-orientation

对于Android应用,我想在每次启动时以纵向模式显示我的应用的着陆屏幕,无论设备方向如何。

但是,稍后当Activity / Fragment完全启动时,它应该根据设备方向支持横向和纵向模式。

3 个答案:

答案 0 :(得分:1)

尝试 setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);

将其设置为纵向,然后使用

setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_UNSPECIFIED);

完成着陆屏幕后再次允许两个方向。

答案 1 :(得分:0)

这样做,

仅在默认纵向模式下设置着陆屏幕,

 <activity
            android:name=".SplashActivity"
            android:label="@string/app_name"
            android:screenOrientation="portrait" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
 </activity>

答案 2 :(得分:0)

在您的FirstScreen活动中,请执行此操作。

<activity
        android:name=".MainActivity"
        android:label="@string/app_name"
        android:screenOrientation="portrait" >
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>

public class MainActivity extends Activity {
    final int DELAY_MILLISECOND=5000; // Wait for 5 seconds to load
    final Handler handler = new Handler();

    @Override
    protected void onCreate(Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);
      setContentView(R.layout.activity_main);
       handler.postDelayed(new Runnable() {
        @Override
        public void run() {
            setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_UNSPECIFIED);
            Toast.makeText(getApplicationContext(),"Changed Orientation to default",Toast.LENGTH_SHORT).show();
        }
    }, DELAY_MILLISECOND);

}

}