Подтвердить что ты не робот

Как программно установить высоту и ширину поля EditText в Android

Я хочу программно управлять высотой и шириной поля EditText в Android. Я попытался edittext.setWidth(32); и edittext.setEms(50); , но оба не работают. Посмотрите мой код ниже, как я использую его для создания динамического EditText в Android.

private EditText createEditText()
{
    final LayoutParams lparams = new LayoutParams(LayoutParams.FILL_PARENT,LayoutParams.FILL_PARENT);
    final EditText edittext = new EditText(this);
    edittext.setLayoutParams(lparams);
    edittext.setWidth(32);
    edittext.setEms(50);
    return edittext;
}
4b9b3361

Ответ 1

private EditText createEditText()
{
    final LayoutParams lparams = new LayoutParams(50,30); // Width , height
    final EditText edittext = new EditText(this);
    edittext.setLayoutParams(lparams);
    return edittext;
}

Попробуйте это.

Ответ 2

edittext.getLayoutParams().width=32;

Ответ 3

DisplayMetrics metrics = new DisplayMetrics();
WindowManager wm = (WindowManager) this.getSystemService(Context.WINDOW_SERVICE);
wm.getDefaultDisplay().getMetrics(metrics);
final float height = metrics.heightPixels;

EditText edittext = new EditText(this);

edittext.setLayoutParams(new LinearLayout.LayoutParams(LinearLayout.LayoutParams.FILL_PARENT,(int) (height/2)));

Ответ 4

RelativeLayout.LayoutParams.width = 32; 
RelativeLayout.LayoutParams.height = 50;

работает для меня. например

    lparams.width = 32;

Ответ 5

    LinearLayout.LayoutParams params = (LinearLayout.LayoutParams) edittext.getLayoutParams();
            params.width = mScreenWidth / 5;
            params.height = mScreenWidth / 5;
            edittext.setLayoutParams(params);

Ответ 6

Попробуйте использовать следующий код: -

Display display = getWindowManager().getDefaultDisplay(); 
    int screenWidth = display.getWidth();
    int screenHeight = display.getHeight();

profile_pic.getLayoutParams().height=(screenHeight/6);
    profile_pic.getLayoutParams().width=(screenHeight/6);