有沒有辦法檢測設備方向事件或至少到 獲取當前設備方向,而在清單中使用 android:screenOrientation? 我的意思是設備方向不是應用程序方向。使用android檢測設備方向變化:screenOrientation
我的問題是我真的想,以保持我的應用程序在波泰特模式 (這是一個Web視圖),但我想處理的方向改變自己在我的 應用程序。當設置android:screenOrientation時,方向得到 方法始終是應用程序方向,而不是設備 方向。
問候, 加埃唐
有沒有辦法檢測設備方向事件或至少到 獲取當前設備方向,而在清單中使用 android:screenOrientation? 我的意思是設備方向不是應用程序方向。使用android檢測設備方向變化:screenOrientation
我的問題是我真的想,以保持我的應用程序在波泰特模式 (這是一個Web視圖),但我想處理的方向改變自己在我的 應用程序。當設置android:screenOrientation時,方向得到 方法始終是應用程序方向,而不是設備 方向。
問候, 加埃唐
我認爲好的方向(縱向或橫向),你得到的將永遠給你 「應用導向」 的價值觀。有關設備方向,您可以查看SensorManager.getOrientation。
不幸的是,用於監聽此值更改的方法被標記爲廢棄,因此您可能需要定期輪詢。
如果你想自己處理裝置旋轉,然後用下面的方法:
@Override
public void onConfigurationChanged(Configuration config)
{
super.onConfigurationChanged(config);
Display display = ((WindowManager)getSystemService(Context.WINDOW_SERVICE)).getDefaultDisplay();
if(display.getRotation() == Surface.ROTATION_90)
{
mFlash.startAnimation(mRotate);
}
if(display.getRotation() == Surface.ROTATION_90)
{
parameters.setPreviewSize(width, height);
}
if(display.getRotation() == Surface.ROTATION_180)
{
parameters.setPreviewSize(height, width);
}
if(display.getRotation() == Surface.ROTATION_270)
{
parameters.setPreviewSize(width, height);
mCamera.setDisplayOrientation(180);
}
}
裏面的if語句僅僅是可以完成的示例的動作。顯然,處理你需要的任何東西。