Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/three.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android sensors 如何在手机和平板电脑上设置不同的方向更改设置?_Android Sensors_Android_Android Orientation - Fatal编程技术网

Android sensors 如何在手机和平板电脑上设置不同的方向更改设置?

Android sensors 如何在手机和平板电脑上设置不同的方向更改设置?,android-sensors,android,android-orientation,Android Sensors,Android,Android Orientation,我正在为手机和galaxy tab制作一个应用程序。 我想成为手机上唯一的肖像模式,以及标签页上的肖像和风景 到目前为止,我得到了以下代码片段: public void onCreate(Bundle savedInstanceState) { DisplayMetrics dm = new DisplayMetrics(); getWindowManager().getDefaultDisplay().getMet

我正在为手机和galaxy tab制作一个应用程序。 我想成为手机上唯一的肖像模式,以及标签页上的肖像和风景

到目前为止,我得到了以下代码片段:

        public void onCreate(Bundle savedInstanceState)
        {
            DisplayMetrics dm = new DisplayMetrics();
            getWindowManager().getDefaultDisplay().getMetrics(dm);

            int width = dm.widthPixels;
            int height = dm.heightPixels;

            if(!(width>=800 && height>=1280))
            {
                setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_SENSOR_PORTRAIT);
            }



            super.onCreate(savedInstanceState);
            setContentView(R.layout.mylayout);

            //... more code below
所以我只是检查屏幕大小,如果是平板电脑的800x1280,我什么也不做,方向改变是活动的。如果不是800x1280,我会:

setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_SENSOR_PORTRAIT);
我认为它可以正常工作,但对于一些随机错误,它不是每次都能正常工作。。 让我们说大约十次,在手机上方向只改变为横向一秒,然后又变回纵向。所以一辆小车有点不对劲


这是另一种更好的方法吗?

您可以在mainfest中设置为screenOrientation

<activity
            android:name=".Dis"
            android:label="@string/app_name"
            android:screenOrientation="portrait" >
        </activity>


对于galaxy note这样的混合动力车,您想做些什么?根据你的代码,它们将被视为“电话”。我建议你不要为用户决定什么更好,而是让它成为一个选择?也许有些用户希望能够更改纵向/横向,您可以在设置中设置一个“锁定”按钮,但坦率地说,即使这样在操作系统中也已准备就绪?请参考此链接:据我所知,galaxy note的宽度和高度与galaxy tab完全相同,因此我的代码可以像tab一样处理它。对于像galaxy note的屏幕这样的一大块桌子,对我来说很好。