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)
}
}
首先你得定义一个 LayoutParams:RelativeLayout.LayoutParams s = new RelativeLayout.LayoutParams(LayoutParams.MATCH_PARENT,LayoutParams.MATCH_PARENT)
s.addRule(RelativeLayout.CENTER_IN_PARENT, -1)
//添加位置信息 -1表示相对于父控件的位置 ,如果要相对某个平级控件则参数是该控件的ID
s.setMargins(10, 10, 10, 10)//设置左,上,右,下,的距离
上面的定义好了之后可以用了:
imgApple2.setLayoutParams(s)
insertLayout.addView(imgApple2,100,100)
在代码中可以动态的添加、移除控件;可以先获得一个layout的根标签layoutview,然后使用layoutview.addview(XXX),layoutview.removeview(XXX)之类的方法,动态添加、移除view,代码中也是可以控制布局的,找点资料看看就明白了,几句话也说不太明白。欢迎分享,转载请注明来源:内存溢出
评论列表(0条)