我想在计算所有视图参数后设置我的LinearLayout参数。以编程方式设置LayoutParams
我想设置LinearLayout的高度相关的父视图的高度。与父视图的高度根据其layout_weight
计算,所以我得到getMeasuredHeight();
我的代码高度:
@Override
public void onWindowFocusChanged(boolean hasFocus) {
super.onWindowFocusChanged(hasFocus);
RelativeLayout lay = (RelativeLayout) findViewById(R.id.alt);
LinearLayout bar = (LinearLayout) findViewById(R.id.barLay);
int layH = lay.getMeasuredHeight();
int barH = layH/4;
LinearLayout.LayoutParams params = (LayoutParams) bar.getLayoutParams();
params.height = barH;
bar.setLayoutParams(params);
}
Eclipse调试器在该行停止程序;
LinearLayout.LayoutParams params = (LayoutParams) bar.getLayoutParams();
我找不到可能是什么问题?我是否做错了设置参数?
控制栏里面是什么布局类型? – Loc 2014-09-05 14:21:46
我想要设置参数的布局是“线性”,其父项是“相对”。我会尝试将relativeLayout更改为LinearLayout并将结果写入此处 – ctarimli 2014-09-05 14:39:14
这很好用!谢谢@LocHa – ctarimli 2014-09-05 14:43:05