如何在对话框中将layout params设置为edittext?

时间:2011-06-17 20:43:00

标签: android dialog layoutparams

我正在尝试将一些布局参数设置为对话框中的edittext,但它似乎没有任何效果。为什么?如何减小编辑文本的宽度?

AlertDialog.Builder builder = new AlertDialog.Builder(context);
builder = new AlertDialog.Builder(context);
final EditText input = new EditText(context);                    
LinearLayout.LayoutParams lp = new LinearLayout.LayoutParams(20, LinearLayout.LayoutParams.WRAP_CONTENT);
lp.setMargins(10, 0, 10, 0);  
input.setLayoutParams(lp); 

builder.setView(input)
.setCancelable(false)                   
.setPositiveButton(res.getString(R.string.ok), new DialogInterface.OnClickListener() {
    public void onClick(DialogInterface dialog, int id) {
             //...   
    }
})
.setNegativeButton(res.getString(R.string.cancel), new DialogInterface.OnClickListener() {
    public void onClick(DialogInterface dialog, int id) {
        dialog.cancel();
    }
});

1 个答案:

答案 0 :(得分:9)

您需要在dialog.show()之后设置布局参数,并将布局参数更改为FrameLayout.LayoutParams