我正在使用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/