android动态设置控件
⑴ android 动态添加控件 怎么刷新页面
1、动态添加的时候为组件设置id,删除的时候根据id查找到对应组件,然后删除
2、根据父节点,获取所有父组件下的子组件,然后依次删除。
示例:
protected View createView() {//动态添加组件
Button btn = new Button(this);//动态创建按钮
btn.setId(index++);
btn.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT));
btn.setText("aaaaaa" + index);
return btn;
}
private void removeView() {//动态删除组件(按钮)
//获取linearlayout子view的个数
int count = linearLayout.getChildCount();
//研究整个LAYOUT布局,第0位的是含add和remove两个button的layout
//第count-1个是那个文字被置中的textview
//因此,在remove的时候,只能操作的是0<location<count-1这个范围的
//在执行每次remove时,我们从count-2的位置即textview上面的那个控件开始删除~
if (count - 2 > 0) {
//count-2>0用来判断当前linearlayout子view数多于2个,即还有我们点add增加的button
linearLayout.removeViewAt(count - 2);
}
}
⑵ android 开发的时候怎么动态设置控件宽高
1、获取控件所在的布局
java">LayoutParamspara=button.getLayoutParams();//获取按钮的布局
2、修改布局中的height,width属性
para.width=200;//修改宽度
para.height=300;//修改高度
3、重新设置修改后的布局给控件
button.setLayoutParams(para);//设置修改后的布局。
⑶ 如何在android程序中,动态的增加自定控件
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
ViewGroup vg = new LinearLayout(this);//只要得到一个ViewGroup对象就可以了,一般来说是布局view
setContentView(vg); //设置
for(int i = 0 ; i< 5; i++){
TextView tv = new TextView(this);
tv.setText("hahahah");
addView(vg,tv);
}
}
private void addView(ViewGroup vg, View view){//添加View
if(null == vg || null == view)
return;
vg.addView(view);
}
⑷ android开发怎么通过代码动态添加和删除控件
可以的,android中使用布局是为了加快开发,最终控件还是通过解析XML后,通过代码添加的。
具体方法:
例如你的布局是一个Linearlayout linear;上面有一本Button btn1;
要删除这个btn1要做的就是 linear.removeView( btn1 );
动态添加也是一样的
linear.addView( btn2 );
要注意的是,Button btn2 = new Button( context );这时候控件是没有大小的,必须设置控件大小以后添加了才能看到。设置控件大小的方法是view.setLayoutParams();
希望能够帮到你。
⑸ android 开发的时候怎么动态设置控件宽高
view.setHeight(100);
⑹ Android 自定义控件 动态设置高度
Android动态改变View控件大小的方法:
1、声明控件参数获取对象 LayoutParams lp;
2、获取控件参数: lp = 控件id.getLayoutParams();
3、设置控件参数:如高度。 lp.height -= 10;
4:、使设置生效:控件id.setLayoutParams(lp);
例如如要把Imageview下移200px: ImageView.setPadding( ImageView.getPaddingLeft(), ImageView.getPaddingTop()+200, ImageView.getPaddingRight(), ImageView.getPaddingBottom());
⑺ 动态添加Android(安卓)控件
先定义出想要的控件,给这个控件里填加相应的属性,然后定义一个布局,把控件添加到布局里面,再把这个布局导入到界面里,应该就可以了。
新手上路,也许忘了哪步,但就是这个思路
⑻ 动态添加Android(安卓)控件
动态添加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);
}
}
⑼ android 动态生成控件,怎么设置控件的大小
一、方法
使用getLayoutParams() 和setLayoutParams()方法
二、示例代码
LinearLayout.LayoutParams linearParams = (LinearLayout.LayoutParams) aaa.getLayoutParams();
// 取控件aaa当前的布局参数
linearParams.height = 365; // 当控件的高强制设成365象素
aaa.setLayoutParams(linearParams); // 使设置好的布局参数应用到控件aaa
三、原理
a)getLayoutParams()和setLayoutParams()都是控件基类view的public方法,在外部也可以直接调用。
b)由于LayoutParams一般是在加入容器中设置的,所以容易混淆所指定的布局属性究竟是保存在容器中,还是控件本身的属性,答案是控件本身。但是在设置时还是要注意布局属性与容器种类密切相关。