Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to set layout params to edittext in dialog?

I'm trying to set some layout params to an edittext in a dialog but it seems to have no effect. Why? How can I reduce the width of my 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();
    }
});
like image 807
jul Avatar asked Dec 28 '22 18:12

jul


1 Answers

You need to set the layout params after the dialog.show() and change the layout params to FrameLayout.LayoutParams

like image 112
anonymous Avatar answered Jan 12 '23 22:01

anonymous