动态地将视图添加到活动布局

我有一个自定义视图(一个TextView的扩展),我想动态添加到我的布局(不希望将其包含在main.xml文件中)。

这本书说在我的java代码中使用findViewById()来获取RelativeLayout,然后创建我的自定义视图的新实例,然后在RelativeLayout上使用addView来添加新视图。

我没有收到任何错误,但是当我点击我的按钮添加新的视图时,什么都没有发生(视图没有被添加)。 我是否需要在自定义视图上设置其他属性(例如布局宽度,布局高度)以便显示它?

编辑:添加代码

// changed to an imageview as I thought it might be easier to see an image
RelativeLayout rel = (RelativeLayout) findViewById(R.id.rellay);
MyCustomImageView mciv = new MyCustomImageView(null);
mciv.setId(5);
LayoutParams p = new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
mciv.setLayoutParams(p);
mciv.setImageResource(R.drawable.someImage);
rel.Addview(mciv);

请将您的代码发布到您添加视图的地方。 但是,是的,您可能会忽略宽度和高度的参数。 尝试类似

LayoutParams p = new LayoutParams(LayoutParams.WRAP_CONTENT,LayoutParams.FILL_PARENT);    
txtView.setLayoutParams(p);

或者你想要的宽度和高度。 在xml布局中,layout_width和layout_height也是必需的属性。

链接地址: http://www.djcxy.com/p/2433.html

上一篇: dynamically adding a view to activity layout

下一篇: What are the c++ compiler optimization techniques in Visual studio