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

Android:如何以编程方式在视图中添加视图?,android,android-layout,android-view,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_ma

我想这样做:

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


有人能告诉我如何做到这一点吗?

视图不能包含其他视图。在安卓系统中,这种方式根本不起作用

如果要将视图放置在其他视图中,则包含的视图必须扩展ViewGroup类

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

  • LinearLayout-如果希望视图垂直或水平对齐
  • RelativeLayout-如果希望视图相对于彼此和/或容器进行定位
  • 还有很多

  • 希望这有帮助。

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

    您自己回答了问题:只有ViewGroup可以添加View()。但是,当我将ViewGroup添加到relativeLayout中时,v2无法显示在屏幕上。这是这个问题的主要目的。你的唯一安排方法是什么?请参阅其他ViewGroup.onLayout实现我正在使用android webside的onLayout代码,它可以工作!!你的意思是使用*布局来实现这个概念吗?我从来没有想过,应该通过这种方式尝试。是的。如果一个视图需要保存其他视图,它应该是视图组扩展视图,如LinearLayout或RelativeLayout。谢谢,我会尝试这样做。