錯(cuò)誤做法:
LinearLayout.LayoutParams layoutParams = new LinearLayout.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT);
layoutParams.setMargins(10,10,10,10);
editText.setLayoutParams(layoutParams);
錯(cuò)誤原因(原文):
因?yàn)槲覀冊(cè)O(shè)置的LayoutParams的高是WRAP_CONTENT,而他布局里又沒(méi)有子控件,自然就沒(méi)有高度。
正確方法,必須在外面加一個(gè)Layout(原文):
final AlertDialog.Builder alert = new AlertDialog.Builder(thisActivity);
final EditText input = new EditText(thisActivity);
FrameLayout container = new FrameLayout(thisActivity);
FrameLayout.LayoutParams params = new FrameLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT);
params.leftMargin = getResources().getDimensionPixelSize(R.dimen.dialog_margin);
input.setLayoutParams(params);
container.addView(input);
alert.setView(container);