我对三星平板电脑的定位处理有一个奇怪的问题。
基本上,我有这个应用程序,它应该只在横向运行如果在平板电脑和肖像上运行,如果我在手机上。
为此,我检查了我的设备,然后使用onConfigurationChanged
回调来设置正确的布局。
它在手机上完美运行。但是在平板电脑上,如果我把它放在纵向位置,当在同一个应用程序中启动另一个活动时,我看到一个闪光灯哦主屏幕(那不酷),所以方向(以及安卓栏)进入纵向位置,第二个活动以纵向(这是错误的)加载,稍后第二个活动将方向更改为正确的横向位置。
有一种方法可以直接在景观中直接加载第二个活动吗?
谢谢
弗朗西斯
答案 0 :(得分:5)
由于您使用相同的活动,只需测试Android版本并以编程方式设置方向。像这样:
if(Build.VERSION.SDK_INT >= 11){
//If build is tablet honeycomb or greater sdk such as 12, or 13
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
}
else{
//If device SDK is lower than 11 the view is set to PORTRAIT
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
}
您也可以
Build.VERSION_CODES.HONEYCOMB
测试平板电脑。这对蜂窝更具体。你也做HONEYCOMB_MR1& MR2。
答案 1 :(得分:0)
如果您想直接在横向加载任何活动,请直接在AndroidManifest.xml文件中的特定活动中提及screenOrientation:
android:screenOrientation="landscape"
这会直接以横向方式加载您的活动。