Android:如何以编程方式在视图中添加视图?

时间:2013-10-14 08:27:21

标签: android android-layout android-view

我想做这样的事情:

View v1= new View(this);
v1.setBackgroundResource(R.drawable.pic1);

View v2 = new View(this);
v2.setBackgroundResource(R.drawable.pic2);

v1.addView(v2);

RelativeLayout.LayoutParams params;
rl = (RelativeLayout) findViewById(R.id.activity_main);
rl.addView(v1,params);

我知道代码错了。它只是展示了我想要做的事情。

一些网站表示viewGroup可以帮助我实现这一目标。

我曾经尝试但从未在屏幕上显示过v2。

有人可以告诉我如何实现这个目标吗?

2 个答案:

答案 0 :(得分:3)

视图不能包含其他视图。它在Android中根本不起作用。

如果要将View放在另一个View中,则包含的View必须扩展ViewGroup类。

有几个类可以帮助您实现这一目标:

  1. LinearLayout - 如果您希望视图垂直或水平对齐。
  2. RelativeLayout - 如果您希望视图相对于彼此和/或容器定位
  3. 还有更多。
  4. 希望这有帮助。

答案 1 :(得分:0)

看起来不错,但问题可能是您在relativelayout中创建了没有参数的视图。另外我不知道你是否可以创建一个View对象,认为它必须是TextView,ImageView或类似的东西:)