Как программно установить высоту и ширину поля 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;
}
Ответы
Ответ 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);