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

标签 java 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 并动态地膨胀其中的 TextView。

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

但是我不想陷入这么大的争议,我会要求你简单地用android中的FlowLayout替换RelativeLayout

关于java - 如何在android中以编程方式更改编辑文本的位置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43477937/

相关文章:

java - 线程执行的频率是多少?我的观察者模式出错了?

java - 获取变量值android

android - Android 中的两部分过渡动画 : Slide a textview out to the left, 并从右侧引入另一个

java - Android golang 绑定(bind)刷新 *.aar

android - 属性 app :cornerRadius doen't work for the MaterialButton

android - 关闭 Activity fragment 内的 Bottom Sheet

android - 可扩展 ListView groupState 指示器

java - android studio中的应用程序源代码给了我很多错误

java - 从 @ManyToMany 列表中删除对象的正确方法

java - java中的加密文件