surfaceview全屏问题
我有个正在播放视频的surfaceview,现在要把它全屏显示,我是新建了一个全屏对话框,然后把surfaceview从原来的布局中removeview掉之后,再把它addview到全屏对话框中,但是此时的surfaceview显示却是绿屏,找了好久不知道原因,求高手指点,非常感激。 --------------------编程问答--------------------surfaceView.setLayoutParams(new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT,LinearLayout.LayoutParams.MATCH_PARENT));
用这种方法来全屏,或者任意缩放,只要改那两个参数就可以了。 --------------------编程问答--------------------
我的surfaceview原来是在一个特定的布局里的,能直接用这种方法吗? --------------------编程问答--------------------
把LinearLayout改成你的view container:RelativeLayout等等 --------------------编程问答-------------------- surfaceview.invalidate()试试 --------------------编程问答--------------------
surfaceView.setLayoutParams(new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT,LinearLayout.LayoutParams.MATCH_PARENT));
用这种方法来全屏,或者任意缩放,只要改那两个参数就可以了。
我的surfaceview原来是在一个特定的布局里的,能直接用这种方法吗?
把LinearLayout改成你的view container:RelativeLayout等等
这个办法可以让surfaceview在父布局中动态改变大小,但是,我现在是想全屏显示。原来的surfaceview的父布局是个gridview中的一个item,动态改变surfaceview的大小后,其最大尺寸也不会超出这个item的大小。所以才有我上面那种做法,但是就是会绿屏。不知道有没有其他办法让它离开原来布局,在新的布局中全屏? --------------------编程问答--------------------
surfaceview.invalidate()试试
这办法不行。因为我removeview之后,通过调试发现原来surfaceview中的一些变量会改变,例如mWindow会变为null,我把它postInvalidate后,这些改变的变量不会变回来。
补充:移动开发 , Android