2010-11-02 107 views

回答

1

setLayoutParams(new LayoutParams(width,height)); 我希望这会工作

+1

我已经做到了,但没有成功。 – 2010-11-03 05:11:33

20

我有同样的问题。但是这肯定是有效的,只需要检查你正在设置的LaoutParams类型。我有同样的问题,因为我使用FrameLaoutPrams而不是LayoutParams。我需要设置这样的:

android.widget.FrameLayout.LayoutParams params = new android.widget.FrameLayout.LayoutParams(width, height); 
    surface.setLayoutParams(params); 
+0

这是一个正确的答案(假设表面被包裹到FrameLayout中)。你也可以指定重力为3-rd参数(比如说Gravity.CENTER) – 2016-04-13 15:30:55

1

继种候选条件的LayoutParams的,也许这是有帮助的人:

android.widget.TableRow.LayoutParams; 
android.widget.TableLayout.LayoutParams; 
android.widget.RelativeLayout.LayoutParams; 
android.widget.RadioGroup.LayoutParams; 
android.widget.GridLayout.LayoutParams; 
android.widget.Gallery.LayoutParams; 
android.widget.FrameLayout.LayoutParams; 
android.widget.AbsoluteLayout.LayoutParams; 
android.widget.AbsListView.LayoutParams; 
android.widget.LinearLayout.LayoutParams; 
android.view.ViewGroup.LayoutParams; 
android.app.ActionBar.LayoutParams; 
android.support.v4.view.ViewPager.LayoutParams; 
android.view.WindowManager.LayoutParams 
2

这是做正确的方式:

surfaceView.getHolder().setFixedSize(width, height); 
相关问题