动态添加Android(安卓)控件?

我想动态添加控件,希望示例代码不要太多,就只是用代码添加控件,不需要去修改布局文件什么的... 我想动态添加控件,希望示例代码不要太多,就只是用代码添加控件,不需要去修改布局文件什么的 展开
 我来答
百度网友96ffcf7
推荐于2016-04-16 · 知道合伙人互联网行家
百度网友96ffcf7
知道合伙人互联网行家
采纳数:22721 获赞数:118724
从事多年网络方面工作,有丰富的互联网经验。

向TA提问 私信TA
展开全部
动态添加Android(安卓)控件步骤:
1、addView
添加控件到布局容器
2、removeView
在布局容器中删掉已有的控件
3、使用
public class MainActivity extends Activity {

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);

// 生成一个LinearLayout,作为布局容器来动态添加3个Button
final LinearLayout layout = new LinearLayout(this);
layout.setOrientation(LinearLayout.VERTICAL);
setContentView(layout);

// 生成3个Button
final Button btn1 = new Button(this);
btn1.setText("1");
btn1.setText("Button1");
final Button btn2 = new Button(this);
btn2.setText("2");
btn2.setText("Button2");
final Button btn3 = new Button(this);
btn3.setText("3");
btn3.setText("Button3");

// 动态把三个Button添加到
layout.addView(btn1);
layout.addView(btn2);
layout.addView(btn3);

// 点击按钮时,先把原来在布局容器layout上的删掉,再添加上局容器layout,这样本次添加的控件就会排序到最后,以理解动态添加控件的思路
btn1.setOnClickListener(new OnClickListener() {

@Override
public void onClick(View arg0) {
layout.removeView(btn1);
layout.addView(btn1);
}
});

// 同btn1一样道理
btn2.setOnClickListener(new OnClickListener() {

@Override
public void onClick(View arg0) {
layout.removeView(btn2);
layout.addView(btn2);
}
});

// 同btn1一样道理
btn3.setOnClickListener(new OnClickListener() {

@Override
public void onClick(View arg0) {
layout.removeView(btn3);
layout.addView(btn3);
}
});
setContentView(layout);
}

}
一诺千金丨
2015-09-07 · 知道合伙人数码行家
一诺千金丨
知道合伙人数码行家
采纳数:8766 获赞数:32844
1、专业生产电力检测设备,若要咨询相关直接向我咨询关于电力检测设备的问题吧。 2、武高电测最佳员工。

向TA提问 私信TA
展开全部
先定义出想要的控件,给这个控件里填加相应的属性,然后定义一个布局,把控件添加到布局里面,再把这个布局导入到界面里,代码如下:

RelativeLayout.LayoutParams layoutParams = new RelativeLayout.LayoutParams(100, 100);

layoutParams.topMargin=8;
layoutParams.leftMargin=8;
layoutParams.rightMargin=8;
layoutParams.bottomMargin=8;
insertLayout.addView(imgApple2,layoutParams);
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
_446865422
2012-05-03 · TA获得超过229个赞
知道小有建树答主
回答量:320
采纳率:0%
帮助的人:156万
展开全部
先定义出想要的控件,给这个控件里填加相应的属性,然后定义一个布局,把控件添加到布局里面,再把这个布局导入到界面里,应该就可以了。
新手上路,也许忘了哪步,但就是这个思路
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
渠景中8W
2012-05-03 · TA获得超过544个赞
知道小有建树答主
回答量:369
采纳率:100%
帮助的人:290万
展开全部
如果使用了布局文件你就不能使用代码增加或减少布局文件中的控件数量。
需要考虑直接使用代码布局,
追问
是的,是这样的,我就是想直接用代码布局,代码控制的,请问怎么做是最恰当的
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
housyunhin
2012-04-27 · TA获得超过217个赞
知道小有建树答主
回答量:584
采纳率:42%
帮助的人:149万
展开全部
在oncreat里写TextView mText = new TextView (this); setContentView(mText)
这是最简单的一个动态添加例子
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式