我想在移动视图中使用纵向屏幕方向,在平板电脑视图中使用两个方向 我没有在清单中定义方向,但我检查设备是否不是平板电脑在这行代码中的方向画像:
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
此代码完美地适用于平板电脑,但问题出现在我尝试在平板电脑上运行应用程序时,第一个应用程序在横向运行,然后通过代码更改为纵向。所以onCreate
函数运行两次。我不想两次这样做!
例如,我可以在values-sw600dp
中定义一个变量,并用它来改变清单中的方向吗?或更改清单方向优先级?! (并在代码中设置方向?!)
答案 0 :(得分: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 }
...
}