Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/201.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中检测纵向模式下的方向变化?_Android_Android Orientation_Device Orientation - Fatal编程技术网

如何在android中检测纵向模式下的方向变化?

如何在android中检测纵向模式下的方向变化?,android,android-orientation,device-orientation,Android,Android Orientation,Device Orientation,我需要在我的应用程序中显示相机预览,以便按下按钮即可拍摄照片。 所以我把一个相当“标准”的相机预览类。问题是我必须将其置于横向模式,以便预览可以在整个屏幕上延伸。如果处于纵向模式,它将只保留在屏幕的中心,在屏幕的一小部分。如果这个问题能更容易解决,我愿意接受建议 但我的问题是。如果锁定在横向模式,如何检测屏幕旋转,以便相应地旋转按钮的文本? 我试过了 但是我没有得到任何结果。使用OrientationEventListener: orientationListener = new Orienta

我需要在我的应用程序中显示相机预览,以便按下按钮即可拍摄照片。 所以我把一个相当“标准”的相机预览类。问题是我必须将其置于横向模式,以便预览可以在整个屏幕上延伸。如果处于纵向模式,它将只保留在屏幕的中心,在屏幕的一小部分。如果这个问题能更容易解决,我愿意接受建议

但我的问题是。如果锁定在横向模式,如何检测屏幕旋转,以便相应地旋转按钮的文本? 我试过了


但是我没有得到任何结果。

使用OrientationEventListener

orientationListener = new OrientationEventListener(context, SensorManager.SENSOR_DELAY_UI) {
    public void onOrientationChanged(int orientation) {
        //do something
    }
};

首先,你应该知道当屏幕模式改变时会发生什么

当screen mode更改它的视图时,它意味着如果我们能够检测到屏幕模式是什么,我们就可以在onCreate()中更改布局文件或执行其他操作

如何检测屏幕模式

if(getResources().getConfiguration().orientation==Configuration.ORIENTATION_LANDSCAPE) {
    //do something
}

配置类有不同的方向常数,请在开发人员站点上进行检查。

使用此简单方法

if(getResources().getConfiguration().orientation == Configuration.ORIENTATION_LANDSCAPE)
{
     // your code
}


我使用了此链接中的解决方案:。它使用onOrientationChanged。感谢所有回复的人
if(getResources().getConfiguration().orientation == Configuration.ORIENTATION_LANDSCAPE)
{
     // your code
}
if(getResources().getConfiguration().orientation == Configuration.ORIENTATION_PORTRAIT)
{
    // your code
}