目标
我有一个RelativeLayout和一些TextView的xml集合,我想动态添加一些EditText,一个在另一个下面。
问题
如何将这些EditText水平居中?
代码
这是我最新的代码:
/* Layout with EditText's */
RelativeLayout parentLayout = (RelativeLayout)
findViewById(R.id.relativeLayoutLectura);
EditText editText = new EditText(this);
RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(
LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
// If it's first EditText to insert, goes below another linearLayout set before
if(id == -1) {
editText.setId(1);
params.addRule(RelativeLayout.BELOW, R.id.linearLayoutMensajeLectura);
} else {
editText.setId(id);
params.addRule(RelativeLayout.BELOW, id-1);
}
editText.setLayoutParams(params);
editText.setGravity(Gravity.CENTER_HORIZONTAL); //It does nothing
parentLayout.addView(editText);
提前致谢。
答案 0 :(得分:0)
设置编辑文本的重力将影响文本在其中显示的位置。
当您将其放入RelativeLayout时,您需要params.addRule(RelativeLayout.CENTER_IN_PARENT)
或params.addRule(RelativeLayout.CENTER_HORIZONTAL)