如何旋转surfaceview 90?

时间:2013-03-23 12:14:24

标签: android service rotation surfaceview egl

我正在开发一个关于android 4.2的电影播放器​​,现在面临一个问题,即如何旋转90度的surfaceview,surfaceview用于渲染解码视频,与常用的不同之处在于,我将surfaceview添加为系统视图通过服务中的“windowManager.addView(mysurfacetview)”,Surfaceview可以在桌面上浮动。

每当用户想要横向全屏视图时,我的临时解决方案是启动一个在xml中预定义LANDSCAPE的活动,这将触发服务的onConfigurationChanged,然后我使用“windowManager.updateViewLayout”触发surfacechanged,最后将surfaceview调整为全屏大小

旋转surfaceview有更好的解决方案吗?我使用了egl附着在surfaceview上,是否可以从egl旋转?谢谢!

1 个答案:

答案 0 :(得分: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);