0

我想在移动视图中具有纵向屏幕方向,在平板电脑视图中具有两个方向我没有在清单中定义方向,但我检查设备是否不是平板电脑,通过以下行在代码中制作方向纵向:

setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);

此代码在平板电脑中完美运行,但是当我尝试在平板电脑上以横向运行应用程序时出现问题,第一个应用程序以横向运行,然后通过代码更改为纵向。所以onCreate函数运行两次。我不想这样做两次!

例如,我可以在values-sw600dp例如中定义一个变量并使用它来改变清单中的方向吗?还是改变清单方向优先级?!(并在代码中设置方向?!)

4

1 回答 1

0

我使用过的一个解决方法是为平板电脑提供主要布局,然后我添加了一个不可见的视图“dummy_for_tablet”并来自主要活动

    @Override
    protected void onCreate(Bundle savedInstanceState)
    { 
         ....
         if( findViewById(R.id.dummy_for_tablet) != null)
         { //it's a tablet }
         else
         { //it's a mobile }
          ...
    }
于 2013-10-13T14:30:59.780 回答