0

我想动态创建一个文本视图并设置属性。

LinearLayout timeBar = (LinearLayout)findViewById(R.id.linear_layout_cells);
TextView tv = new TextView(this);
timeBar.addView(tv);

我需要能够设置高度以匹配父级,宽度为零,重量将是 100 的百分比,我还需要设置背景颜色。这甚至可能吗?

非常感谢任何帮助

4

1 回答 1

2

是的,只需创建一个LinearLayout.LayoutParams实例。它有一个宽度、高度和重量的构造函数。然后,调用tv.setLayoutParams()

在这种情况下,您使用LinearLayout.LayoutParams是因为您TextView正在进入LinearLayout. 这是一个更正式的例子:

LinearLayout timeBar = (LinearLayout)findViewById(R.id.linear_layout_cells);
TextView tv = new TextView(this);
float weight = 0.5f; //your value goes here.
tv.setLayoutParams(new LinearLayout.LayoutParams(0, ViewGroup.LayoutParams.MATCH_PARENT, weight));
timeBar.addView(tv);
于 2012-11-27T20:37:23.227 回答