我想动态创建一个文本视图并设置属性。
LinearLayout timeBar = (LinearLayout)findViewById(R.id.linear_layout_cells);
TextView tv = new TextView(this);
timeBar.addView(tv);
我需要能够设置高度以匹配父级,宽度为零,重量将是 100 的百分比,我还需要设置背景颜色。这甚至可能吗?
非常感谢任何帮助
我想动态创建一个文本视图并设置属性。
LinearLayout timeBar = (LinearLayout)findViewById(R.id.linear_layout_cells);
TextView tv = new TextView(this);
timeBar.addView(tv);
我需要能够设置高度以匹配父级,宽度为零,重量将是 100 的百分比,我还需要设置背景颜色。这甚至可能吗?
非常感谢任何帮助
是的,只需创建一个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);