动态添加Android(安卓)控件?
5个回答
推荐于2016-04-16 · 知道合伙人互联网行家
关注
展开全部
动态添加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);
}
}
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 · 知道合伙人数码行家
关注
展开全部
先定义出想要的控件,给这个控件里填加相应的属性,然后定义一个布局,把控件添加到布局里面,再把这个布局导入到界面里,代码如下:
RelativeLayout.LayoutParams layoutParams = new RelativeLayout.LayoutParams(100, 100);
layoutParams.topMargin=8;
layoutParams.leftMargin=8;
layoutParams.rightMargin=8;
layoutParams.bottomMargin=8;
insertLayout.addView(imgApple2,layoutParams);
RelativeLayout.LayoutParams layoutParams = new RelativeLayout.LayoutParams(100, 100);
layoutParams.topMargin=8;
layoutParams.leftMargin=8;
layoutParams.rightMargin=8;
layoutParams.bottomMargin=8;
insertLayout.addView(imgApple2,layoutParams);
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
先定义出想要的控件,给这个控件里填加相应的属性,然后定义一个布局,把控件添加到布局里面,再把这个布局导入到界面里,应该就可以了。
新手上路,也许忘了哪步,但就是这个思路
新手上路,也许忘了哪步,但就是这个思路
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
如果使用了布局文件你就不能使用代码增加或减少布局文件中的控件数量。
需要考虑直接使用代码布局,
需要考虑直接使用代码布局,
追问
是的,是这样的,我就是想直接用代码布局,代码控制的,请问怎么做是最恰当的
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
在oncreat里写TextView mText = new TextView (this); setContentView(mText)
这是最简单的一个动态添加例子
这是最简单的一个动态添加例子
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询