2013-03-23 51 views
0

我正在開發一個android 4.2上的movieplayer,現在面臨一個問題,即如何旋轉90度的surfaceview,surfaceview被用來渲染解碼的視頻,與常用的區別是,我將surfaceview作爲系統視圖添加「windowManager.addView(mysurfacetview)」在一個服務中,所以surfaceview有能力在桌面上浮動。如何roate surfaceview 90?

無論何時用戶想要一個橫向全屏視圖,我的臨時解決方案是啓動一個活動,在xml中預定義的LANDSCAPE,這將觸發onConfigurationChanged的服務,然後我使用「windowManager.updateViewLayout」來觸發surfacechanged,最後調整surfaceview爲全屏尺寸。

有沒有更好的解決方案來旋轉surfaceview?我已經使用了egl attatched到surfaceview,可以從egl旋轉嗎?謝謝!

回答

0
Try this 

setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE); 

For fullscreen try 

requestWindowFeature(Window.FEATURE_NO_TITLE); 
     getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, 
           WindowManager.LayoutParams.FLAG_FULLSCREEN); 
+0

setRequestedOrientation只能在activity中調用,但我通過windowManager.addView()從service中添加surfaceview。 – fla888 2013-03-23 13:58:18