通过代码生成控件时,发现所创建的控件有设置padding的setPadding方法,但没有设置margin的类似setMargin方法。后来发现需要在LayoutParams里设置,详情见以下代码:
// 创建LinearLayout
LinearLayout layout = new LinearLayout(PostNewsActivity.this);
LinearLayout.LayoutParams lLayoutlayoutParams = new LinearLayout.LayoutParams(
ViewGroup.LayoutParams.MATCH_PARENT,
ViewGroup.LayoutParams.WRAP_CONTENT);
lLayoutlayoutParams.setMargins(0, 5, 0, 0);
layout.setLayoutParams(lLayoutlayoutParams);
layout.setBackgroundResource(R.drawable.shape_bg);
layout.setPadding(5, 5, 5, 5);
layout.setOrientation(LinearLayout.VERTICAL);
// 创建EditText
EditText etContent = new EditText(PostNewsActivity.this);
LinearLayout.LayoutParams etParam = new LinearLayout.LayoutParams(
ViewGroup.LayoutParams.MATCH_PARENT, iETContentHeight);
etParam.setMargins(0, 10, 0, 0);
etContent.setLayoutParams(etParam);
etContent.setBackgroundResource(R.dr