由于您以编程方式创建Button,
b因此不会设置任何布局参数。因此,您需要像这样手动设置它们:
ViewGroup.LayoutParams params = new ViewGroup.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT);b.setLayoutParams(params);
或者至少在更改参数之前检查参数是否不为null
ViewGroup.LayoutParams params = b.getLayoutParams(); if (params != null) { params.width= ViewGroup.LayoutParams.MATCH_PARENT; params.height = ViewGroup.LayoutParams.WRAP_CONTENT; } else params = new ViewGroup.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT);


