for(int l=0;l<c.getCount();l++)
 {
     EditText etpob = new EditText(this.getActivity());
     etpob.setInputType(InputType.TYPE_CLASS_NUMBER);
     int po=Integer.parseInt("1" + c.getInt(3)) ;
     etpob.setId(po);
     etpob.setHint("POB");
     etpob.setText("");
     etpob.setTextSize(15);
     etpob.setVisibility(View.VISIBLE);
     etpob.setLayoutParams(new LinearLayout.LayoutParams(0, 50, 15));
     etpob.setGravity(Gravity.RIGHT);
}


我已经在上面添加了EditText dynamically是我的代码,但是对于不同类型的屏幕,它的分辨率都失败了,在使用样式的布局中,我们可以将其更改。

最佳答案

您可以使用维度来设置动态生成的edittext的宽度

int pixels = 15; // use dimen here
float scale = getContext().getResources().getDisplayMetrics().density;
float dips = pixels / scale;


所以,

 etpob.setLayoutParams(new LinearLayout.LayoutParams(0, pixels , pixels ));


或者如果需要,您可以设置尺寸,然后您可以像这样进行操作

getContext()。getResources()。getDimension(R.dimen.activity_horizo​​ntal_margin); //以所需的分辨率设置尺寸的尺寸

10-08 03:02