我需要在我的应用中显示相机预览,以便按下按钮即可拍摄照片。 所以我提出了一个很好的标准"相机预览课。问题是我必须将其置于横向模式,以便预览可以在整个屏幕上拉伸。如果处于纵向模式,它将仅保留在屏幕中心的一小部分上。如果这可以更容易解决,我愿意接受建议。
但我的问题是。如果锁定在横向模式,我如何检测屏幕旋转,以便我可以相应地旋转按钮的文本? 我试过了
@Override
public void onSensorChanged(SensorEvent event)
{
Log.d("onSensorChanged");
Log.d("event:" + event);
}
但我没有结果。
答案 0 :(得分:1)
使用OrientationEventListener :
orientationListener = new OrientationEventListener(context, SensorManager.SENSOR_DELAY_UI) {
public void onOrientationChanged(int orientation) {
//do something
}
};
答案 1 :(得分:0)
首先,您应该知道屏幕模式发生变化时会发生什么。
当屏幕模式改变其视图再次创建时,意味着我们可以检测到什么屏幕模式,我们可以更改布局文件或在onCreate()中执行其他操作。
如何检测哪种屏幕模式。
if(getResources().getConfiguration().orientation==Configuration.ORIENTATION_LANDSCAPE) {
//do something
}
配置类具有不同的方向常量在开发人员站点上进行检查。
答案 2 :(得分:0)
使用这种简单的方法...
if(getResources().getConfiguration().orientation == Configuration.ORIENTATION_LANDSCAPE)
{
// your code
}
OR
if(getResources().getConfiguration().orientation == Configuration.ORIENTATION_PORTRAIT)
{
// your code
}