在多行上添加几个文本视图

时间:2015-02-25 20:14:00

标签: android user-interface android-layout textview

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

想要:

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

此示例应该提供12个textviews,在“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(水平)......

1 个答案:

答案 0 :(得分:3)

您需要一个垂直LinearLayout来保存其他LinearLayout,每个view.measure(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT); int width = view.getMeasuredWidth(); 代表一行。

您可以在通过调用

进行渲染之前评估textview的宽度
{{1}}

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

相关问题