错误用法:
RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT); your_layout.setLayoutParams(params);
如此使用将会报出android.widget.RelativeLayout$LayoutParams cannot be cast to android.widget.LinearLayout$LayoutParams 或类似的错误。
正确的使用方法是
private Button mbtn; mbtn = (Button) findViewById(R.id.btn_test); LayoutParams lp; lp=mbtn.getLayoutParams(); lp.width=100; lp.height=200; mbtn.setLayoutParams(lp);
因为Layout具有很多属性,仅仅指定高度和宽度很多时候是有问题的,正确的方法是获取该layout的layoutParams对象,对此对象进行修改后重新赋值。