当前位置:编程学习 > wap >>

surfaceview全屏问题

我有个正在播放视频的surfaceview,现在要把它全屏显示,我是新建了一个全屏对话框,然后把surfaceview从原来的布局中removeview掉之后,再把它addview到全屏对话框中,但是此时的surfaceview显示却是绿屏,找了好久不知道原因,求高手指点,非常感激。 --------------------编程问答--------------------
surfaceView.setLayoutParams(new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT,LinearLayout.LayoutParams.MATCH_PARENT));

用这种方法来全屏,或者任意缩放,只要改那两个参数就可以了。 --------------------编程问答--------------------
引用 1 楼 tantahe 的回复:
surfaceView.setLayoutParams(new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT,LinearLayout.LayoutParams.MATCH_PARENT));

用这种方法来全屏,或者任意缩放,只要改那两个参数就可以了。

我的surfaceview原来是在一个特定的布局里的,能直接用这种方法吗? --------------------编程问答--------------------
引用 2 楼 lynchyong 的回复:
Quote: 引用 1 楼 tantahe 的回复:

surfaceView.setLayoutParams(new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT,LinearLayout.LayoutParams.MATCH_PARENT));

用这种方法来全屏,或者任意缩放,只要改那两个参数就可以了。

我的surfaceview原来是在一个特定的布局里的,能直接用这种方法吗?

把LinearLayout改成你的view container:RelativeLayout等等 --------------------编程问答-------------------- surfaceview.invalidate()试试 --------------------编程问答--------------------
引用 3 楼 tantahe 的回复:
Quote: 引用 2 楼 lynchyong 的回复:

Quote: 引用 1 楼 tantahe 的回复:

surfaceView.setLayoutParams(new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT,LinearLayout.LayoutParams.MATCH_PARENT));

用这种方法来全屏,或者任意缩放,只要改那两个参数就可以了。

我的surfaceview原来是在一个特定的布局里的,能直接用这种方法吗?

把LinearLayout改成你的view container:RelativeLayout等等

这个办法可以让surfaceview在父布局中动态改变大小,但是,我现在是想全屏显示。原来的surfaceview的父布局是个gridview中的一个item,动态改变surfaceview的大小后,其最大尺寸也不会超出这个item的大小。所以才有我上面那种做法,但是就是会绿屏。不知道有没有其他办法让它离开原来布局,在新的布局中全屏? --------------------编程问答--------------------
引用 4 楼 pengguohua1988 的回复:
surfaceview.invalidate()试试

这办法不行。因为我removeview之后,通过调试发现原来surfaceview中的一些变量会改变,例如mWindow会变为null,我把它postInvalidate后,这些改变的变量不会变回来。
补充:移动开发 ,  Android
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,