java如何在布局中以编程方式生成文本视图
我需要从一个随机的、API生成的ArrayList在布局中生成TextView。我似乎找不到一种方式,让它们出现在一行中,像一个字符串一样,一行接一行,一旦行达到最大布局宽度限制,它们也会在下面移动。我希望每个文本视图都能像我单击它们一样快速显示
Would like to achieve something like this...
这是当前代码,但行停止了,我不知道如何将其移到下面。目前我使用相对布局作为基本布局,但这不是必需的
for (int i = 0; i < abc.size(); i++) {
titleText = new TextView(this);
titleText.setId(i);
titleText.setText(abc.get(i));
relativeLayout.addView(titleText, i);
RelativeLayout.LayoutParams layoutParams = new RelativeLayout.LayoutParams(
RelativeLayout.LayoutParams.WRAP_CONTENT,
RelativeLayout.LayoutParams.WRAP_CONTENT);
layoutParams.setMargins(10, 10, 10, 10);
layoutParams.addRule(RelativeLayout.RIGHT_OF, titleText.getId() - 1);
titleText.setLayoutParams(layoutParams);
titleText.setTextColor(getResources().getColor(R.color.teal_700));
tvArray.add(titleText);
}
# 1 楼答案
范例
在xml中
然后用Java编写代码。班级
# 2 楼答案
我认为这个解决方案可以解决这个问题。在循环之前,首先使用-
然后你在某处检索你的abc列表。 然后你总是用这个来计算当前文本视图的宽度
将其与前面放置的文本视图的宽度相加,如果宽度大于屏幕宽度,则从另一行开始