如何在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
}