布局参数对requestLayout的调用时机?
各位老师:Android代码布局时,为什么红色部分在设置宽度后不调用requestLayout(),二绿色部分必须调用呢?
Button button = new Button(this);
button.setText("Go");
layout.addView(button);
RelativeLayout.LayoutParams btnLayoutParams = (RelativeLayout.LayoutParams)button.getLayoutParams();
btnLayoutParams.width = RelativeLayout.LayoutParams.MATCH_PARENT;
btnLayoutParams.height = RelativeLayout.LayoutParams.WRAP_CONTENT;
btnLayoutParams.addRule(RelativeLayout.BELOW, 14);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
RelativeLayout.LayoutParams btnLayoutParams = (RelativeLayout.LayoutParams)v.getLayoutParams();
btnLayoutParams.width = RelativeLayout.LayoutParams.WRAP_CONTENT;
//更新布局
v.requestLayout();
}
});