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)
}
}
一、简单自定义控件MyButton
每一个控件都是一个java类,有对应的代码,只要你能正确的编写java代码,那么电脑培训http://www.kmbdqn.cn/发现可以创造出符合你需求的控件,即自定义控件。
1.通过继承的方式,创建自定义控件
通过继承一个现有的控件,覆盖其界面的呈现
通过继承一个包含若干子控件的布局
通过继承一个现有的控件,覆盖某个响应事件
继承一个View来完整自定义一个心控件
2.使你的自定义控件继承自某个最接近的Android控件,必须是public
一般都会调用父类的构造方法,注意一般有三个构造方法
覆盖原来控件的方法,注意是否要再调用super中的方法
在XML中以类全名的方式引用此控件
二、复杂自定义控件MyLogin
需要设计包含一组控件的自定义控件就需要用到复杂的自定义控件
1) 使得你的自定义控件继承自某个接近的布局
2) 正确的实现构造方法:构造方法中实例化目标布局,同时查找到各个子布局
3) 添加相应的响应代码来修改属性,使得外部能访问布局中的子控件
4) 在XML中以类全名的方式引用此控件,完整的包名+类名。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)