2013-08-06 61 views
0

我的應用程序處於肖像模式,並且它有一個視頻視圖,在某些事件中,我只想將視頻視圖旋轉到風景模式,是否可以這樣做?Android將視頻視圖改爲風景

從代碼中我們可以修改單個視圖爲橫向模式,因爲其他模式將保持縱向模式?

另外,我的onOrientationChanged聽衆在我的活動中提供了orientation值作爲設備方向更改。我如何確定設備是否處於橫向模式或縱向模式?

回答

1

Yeap,這是可能的。 你可以在運行時的方位驗證碼:

Display display = ((WindowManager) getSystemService(WINDOW_SERVICE)).getDefaultDisplay(); 
//orientation will contain Configuration.ORIENTATION_PORTRAIT or Configuration.ORIENTATION_LANDSCAPE 
int orientation = display.getOrientation(); 

所以,如果你想改變,你可以重寫onConfigurationChanged方法取向時,做出的東西。

如果你想改變的方向在運行時,你可以使用這個(例如,更改爲縱向):如果想了解更多的細節

setRequestedOrientation (ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);

,讀this

+0

我的活動使用在'onCreate'方法中'setRequestedOrientation',所以我沒有得到'onConfigurationChanged'事件,'getOrientation'也每次都返回'0'。 – User7723337

+0

它看起來0是默認值。無論如何,getOrientation()已被棄用,如果您願意,可以使用getRotation並發現旋轉,可以是Surface.ROTATION_0(不旋轉),Surface.ROTATION_90,Surface.ROTATION_180或Surface.ROTATION_270 –

+0

此修正是否僅改變'VideoView'到不同的大小?我在我的佈局中有一定的寬度和高度...看起來這個代碼改變了實際的活動方向(這不是我希望找到的),除非我錯了。只是想改變'VideoView'的尺寸,如果一個美化視頻顯示在其中。 – Azurespot