【发布时间】:2011-11-08 15:12:45
【问题描述】:
LinearLayout 中有多个 SurfaceViews 有一个小问题。如何调整(缩小)其中一个视图的大小,以便它不会在它旁边创建一个黑色空间,这意味着相邻视图正在被移动到调整大小的视图旁边。有任何想法吗?
谢谢!
【问题讨论】:
标签: android android-layout android-linearlayout surfaceview android-view
LinearLayout 中有多个 SurfaceViews 有一个小问题。如何调整(缩小)其中一个视图的大小,以便它不会在它旁边创建一个黑色空间,这意味着相邻视图正在被移动到调整大小的视图旁边。有任何想法吗?
谢谢!
【问题讨论】:
标签: android android-layout android-linearlayout surfaceview android-view
为此,您最好使用RelativeLayout。
使用 LinearLayout,一切都是线性绘制的。
这意味着您只能垂直或水平地绘制东西,并且您必须在该布局内声明一个新布局才能更改它。
尝试阅读有关 RelativeLayout 的内容,如果您需要其他帮助,请在此处回复。如果您不明白,我会确保回复您:)
希望这会有所帮助!
【讨论】:
StreamSurfaceView surface = new StreamSurfaceView(getBaseContext(), null); RelativeLayout.LayoutParams lp = new RelativeLayout.LayoutParams( RelativeLayout.LayoutParams.WRAP_CONTENT, RelativeLayout.LayoutParams.WRAP_CONTENT); lp.addRule(RelativeLayout.ALIGN_PARENT_TOP); lp.width = 50; lp.height = 50; lp.addRule(RelativeLayout.RIGHT_OF, other_surface.getId()); streamLayout.addView(surface, lp);
SurfaceView 的大小时,它仍然会将旧内容保留在原始位置,如果我在该空间中添加一些东西,它会被绘制在下面。