gpt4 book ai didi

android - 在多行上添加多个 TextView

转载 作者:太空狗 更新时间:2023-10-29 12:39:15 26 4
gpt4 key购买 nike

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

想要:

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

这个例子应该给出 12 个 TextView ,在“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 来容纳其他 LinearLayout,每个 LinearLayout 代表一条线。

您可以在通过调用渲染之前评估 TextView 的宽度

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

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

关于android - 在多行上添加多个 TextView ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28728729/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com