在发布活动时平板电脑Android方向

时间:2011-10-11 10:34:51

标签: android-activity screen-orientation android

我对三星平板电脑的定位处理有一个奇怪的问题。 基本上,我有这个应用程序,它应该只在横向运行如果在平板电脑和肖像上运行,如果我在手机上。 为此,我检查了我的设备,然后使用onConfigurationChanged回调来设置正确的布局。 它在手机上完美运行。但是在平板电脑上,如果我把它放在纵向位置,当在同一个应用程序中启动另一个活动时,我看到一个闪光灯哦主屏幕(那不酷),所以方向(以及安卓栏)进入纵向位置,第二个活动以纵向(这是错误的)加载,稍后第二个活动将方向更改为正确的横向位置。 有一种方法可以直接在景观中直接加载第二个活动吗? 谢谢

弗朗西斯

2 个答案:

答案 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"

这会直接以横向方式加载您的活动。