android-在多行上添加几个textviews

我有一个LinearLayout,可以在其中以编程方式附加文本视图.问题在于文本视图和内容(每个视图中的一个单词)的数量是动态的.
如果当前行已填充,如何开始将下一个textview追加到新行?

想:

One Textview for each 
word almost like a 
page in a book

此示例应提供12个文本视图,在“ each”和“ a”之后添加新行,因为“ word”和“ page”要长到适合上一行.

我的代码是:

LinearLayout.LayoutParams llp = new LinearLayout.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
        llp.setMargins(15, 0, 0, 0); // llp.setMargins(left, top, right, bottom);

    for(int k=0; k<words.size(); k++)
    {
        TextView tv = new TextView(this);
        tv.setTypeface(font);
        tv.setText(words.get(k));
        tv.setTextSize(20.0f);
        tv.setLayoutParams(llp);

        tv_holder_layout.addView(tv); //Add view to layout
        wordTextViews.add(tv); //Add TextView to arraylist, to be able to find it later
    }

“ tv_holder_layout”目前是简单的LinearLayout(水平)…

解决方法:

您将需要一个垂直的LinearLayout,它将容纳其他的LinearLayouts,它们每个都将代表一行.

您可以通过调用以下方法评估textview的宽度,然后再渲染它

view.measure(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
int width = view.getMeasuredWidth();

在知道宽度之后,您可以添加视图,具体取决于每行的宽度

上一篇:如何在Android中更改删除线的颜色?


下一篇:java-如何SetText一些重复的字符串,例如Animation-List?