我正在开发类似于相机的应用程序,我希望应用程序将始终处于横向模式,这是我实现的目标:
android:screenOrientation="portrait"
但是我需要知道用户何时将手机旋转到横向模式,这样我就可以将图标旋转90度。
我试过了:
if (newConfig.orientation == Configuration.ORIENTATION_LANDSCAPE)
{
Toast.makeText(getApplicationContext(), "ORIENTATION_LANDSCAPE", Toast.LENGTH_SHORT).show();
} else if (newConfig.orientation == Configuration.ORIENTATION_PORTRAIT){
Toast.makeText(getApplicationContext(), "ORIENTATION_PORTRAIT", Toast.LENGTH_SHORT).show();
}
但它只在我添加时才有效:
android:configChanges="keyboardHidden|orientation|screenSize"
它也会自动改变我的方向。
那么我怎样才能让我的应用程序始终处于横向模式,并且仅在手机处于纵向状态时检测到该手机没有自动更改任何内容?就像在相机应用程序中一样
答案 0 :(得分:1)
使用android:configChanges="keyboardHidden|orientation|screenSize"
是一个好主意。
现在尝试手动设置方向:
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
答案 1 :(得分:0)
这会有所帮助。它为我做了,我需要做你需要做的事。