gpt4 book ai didi

java - 以编程方式添加 TextView

转载 作者:行者123 更新时间:2023-12-01 10:21:29 25 4
gpt4 key购买 nike

我找到了几种方法来做到这一点,但我的问题是我的代码必须是水平方向的 LinearLayout。因此,动态创建的 TextView 会离开屏幕。

我的代码如下:

   mProductAttrLayout.setOrientation(LinearLayout.HORIZONTAL);
mProductAttrLayout.setLayoutParams(new LinearLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT));
for (ProductAttribute productAttribute : aProductAttributes) {
String name = productAttribute.getName();
TextView attr = new TextView(getContext());
attr.setText(name);
attr.setPadding(8, 8, 8, 8);
attr.setLayoutParams(new LinearLayout.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT));
attr.setTextColor(getResources().getColor(R.color.black));
mProductAttrLayout.addView(attr);


for (int i = 0; i < productAttribute.getValues().size(); i++) {
TextView value = new TextView(getContext());
value.setText(productAttribute.getValues().get(i));
value.setTextColor(getResources().getColor(R.color.black));
value.setLayoutParams(new LinearLayout.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT));
value.setPadding(8, 8, 8, 8);
mProductAttrLayout.addView(value);
}
}

我目前拥有的是:

| name: value, value, value, val--|

我需要的是这样的:

name: value, value(unknown number of values)

但如果它太宽,我需要它进入屏幕的下一行,如下所示:

| name: value, value, value,---|

| value, value, value. ------------|

希望你能明白我的需要?

最佳答案

LinearLayout 在这里是错误的选择。

您可以编写自己的布局或使用现有的工作。

您可能想要的通常称为 FlowLayout,例如 this .

自定义布局可以像任何其他布局一样使用。例如。您可以使用layout.addView添加 View 。通常,唯一的使用差异反射(reflect)在自定义 layoutParams 中。

关于java - 以编程方式添加 TextView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35578525/

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