0

我尝试使用下面的代码,但文本视图在到达屏幕末尾后不会改变行。

    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();

    }

但是,我不知道如何确定何时换线。我只是继续将新的文本视图放在最后一个创建的右侧。谁能告诉我完成这项任务的正确逻辑?非常感谢。

4

1 回答 1

1

轻松修复。切换到动态创建的 LinearLayout,并将其方向设置为垂直:

lay.setOrientation(LinearLayout.VERTICAL);
于 2013-03-28T13:37:23.707 回答