android开发 如何在相对布局中动态添加控件

2024-12-05 19:57:13
推荐回答(4个)
回答1:

首先setMargin方法不是RelativeLayout的方法,而是RelativeLayout.LayoutParams的方法。
你应该这麼用:
RelativeLayout layout = new RelativeLayout(this);
layout.setLayoutParams(new RelativeLayout.LayoutParams(-1, -1));
TextView mView = new TextView(this);
mView.setId(2);
mView.setText("this is a test text!");
RelativeLayout.LayoutParams layoutParams = new RelativeLayout.LayoutParams(
-2, -2);
// layoutParams.setMargins(100, 100, 100, 100);
layoutParams.addRule(RelativeLayout.ALIGN_PARENT_BOTTOM, -1);
layout.addView(mView, layoutParams);
上例是将一个TextView添加到RelativeLayout的底部。你可以把注释行取消掉,把下一行注释,再看下效果。

回答2:

你的layout是什么类型?使用AbsoluteLayout后可以自由定位 而且你的setPadding是说它的子控件的边缘有100的空间,如果想要对父控件有间隔要用有margin的那个函数 具体名称记不得了 你自己看一下吧

回答3:

TextView tv = new TextView(context);
RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.WRAP_CONTENT, RelativeLayout.LayoutParams.WRAP_CONTENT);
this.addView(tv, params);

回答4: