对于Android应用,我想在每次启动时以纵向模式显示我的应用的着陆屏幕,无论设备方向如何。
但是,稍后当Activity / Fragment完全启动时,它应该根据设备方向支持横向和纵向模式。
答案 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);
}
}