我需要以编程方式设置EditText小部件的高度和宽度。我使用RelativeLayout来执行此操作,并且就尺寸而言它工作正常,但实际的小部件不正确地绘制了自己:
我原本期望它会像这样画(如果我将高度设置为ViewGroup.LayoutParams.WRAP_CONTENT而不是我所要求的高度,它会有效) - 有时候):
有什么想法吗?
请注意我无法切换到DIP:s(dpi独立性实际上已经由使用此代码的引擎处理)。另请注意,我没有找到修复不当行为的setTextSize()的任何值。
这就是我创建窗口小部件的方式:
EditText et = new EditText(this);
et.setFocusable(true);
et.setSingleLine(true);
et.setHint(label);
et.setText(text);
et.setTextSize(TypedValue.COMPLEX_UNIT_PX,(h/3)+5);
et.setId(cn);
rllp = new RelativeLayout.LayoutParams(w,h);
rllp.leftMargin = x;
rllp.topMargin = y;
layout.addView(et,rllp);
答案 0 :(得分:1)
尝试将发布代码的最后一行更改为此
layout.addView(et);