我尝试使用下面的代码,但是文本视图在到达屏幕末尾后不会改变行。
RelativeLayout ll = (RelativeLayout)findViewById(R.id.viewObj);
int lastid=0;
for (int i=0; i<100; i++) {
String teststr = " hello ";
TextView textView2 = new TextView(this);
textView2.setId(i+1);
textView2.setTextSize(30);
textView2.setBackgroundColor(Color.GREEN);
textView2.setTextColor(Color.RED);
textView2.setTypeface(Typeface.MONOSPACE);
textView2.setText(teststr+String.valueOf(i));
if (i>0)
{
RelativeLayout.LayoutParams lay = new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.WRAP_CONTENT, RelativeLayout.LayoutParams.WRAP_CONTENT);
lay.addRule(RelativeLayout.RIGHT_OF, lastid);
ll.addView(textView2, lay);
} else {
ll.addView(textView2);
};
lastid = textView2.getId();
}
但是,我不知道如何确定何时更换线路。我只是继续将新的textview放在最后创建的文本视图的右侧。谁能告诉我完成任务的正确逻辑?非常感谢。
答案 0 :(得分:1)
轻松修复。切换到动态创建的LinearLayout,并将其方向设置为垂直:
lay.setOrientation(LinearLayout.VERTICAL);