繁体   English   中英

如何在Android中以编程方式更改编辑文本的位置?

[英]How to change the position of edit text programmatically in android?

我正在使用RelativeLayout以编程方式彼此相邻创建许多编辑文本。 每个编辑文本的默认宽度为wrap_content,但是当编辑文本到达屏幕边缘时,它会在视觉上更改其大小。 那么发生这种情况时,如何使它移到下一行?

private EditText createEditText(EditText editText1, EditText editText2, String word){
    RelativeLayout.LayoutParams layoutParams = new RelativeLayout.LayoutParams(
            editText.getLayoutParams().width,
            editText.getLayoutParams().height
    );

    layoutParams.addRule(RelativeLayout.RIGHT_OF, editText1.getId());
    layoutParams.addRule(RelativeLayout.BELOW, textView.getId());

    layoutParams.leftMargin += 60;
    editText2.setHint("" + word);
    editText2.setHintTextColor(editText.getSolidColor());
    editText2.setBackgroundResource(R.drawable.rounded_edittext);
    editText2.setLayoutParams(layoutParams);
    editText2.setPadding(editText.getPaddingLeft(), editText.getPaddingTop(), editText.getPaddingRight(), editText.getPaddingBottom());
    editText2.setId(View.generateViewId());

    relativeLayout.addView(editText2);

    return editText2;
}

尝试在Android中使用FlowLayout,然后动态地在其中填充TextViews。

与其相反,您可以在每行中使用固定数量的子代使用Linearlayout,并且如果这样做,则子代必须具有相同的layout_weight。

但是,我不会要求您在Android中将FlowForm替换为RelativeLayout

您可以尝试的。 不确定,是否可以。 您可以做的是在onCreate上计算屏幕的宽度,并检查视图是否超过该宽度,在最后一个视图下方创建一个新的相对视图。 老实说,线性布局将更容易使用weight属性进行维护。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM