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

动态添加Android(安卓)控件?,第1张

先定义出想要的控件,给这个控件里填加相应的属性,然后定义一个布局,把控件添加到布局里面,再把这个布局导入到界面里,代码如下:

RelativeLayout.LayoutParams

layoutParams

=

new

RelativeLayout.LayoutParams(100,

100)

layoutParams.topMargin=8

layoutParams.leftMargin=8

layoutParams.rightMargin=8

layoutParams.bottomMargin=8

insertLayout.addView(imgApple2,layoutParams)

一、简单自定义控件MyButton

每一个控件都是一个java类,有对应的代码,只要你能正确的编写java代码,那么电脑培训发现可以创造出符合你需求的控件,即自定义控件。

1.通过继承的方式,创建自定义控件

通过继承一个现有的控件,覆盖其界面的呈现

通过继承一个包含若干子控件的布局

通过继承一个现有的控件,覆盖某个响应事件

继承一个View来完整自定义一个心控件

2.使你的自定义控件继承自某个最接近的Android控件,必须是public

一般都会调用父类的构造方法,注意一般有三个构造方法

覆盖原来控件的方法,注意是否要再调用super中的方法

在XML中以类全名的方式引用此控件

二、复杂自定义控件MyLogin

需要设计包含一组控件的自定义控件就需要用到复杂的自定义控件

1)   使得你的自定义控件继承自某个接近的布局

2)   正确的实现构造方法:构造方法中实例化目标布局,同时查找到各个子布局

3)   添加相应的响应代码来修改属性,使得外部能访问布局中的子控件

4)   在XML中以类全名的方式引用此控件,完整的包名+类名。

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState)

ViewGroup vg = new LinearLayout(this)//只要得到一个ViewGroup对象就可以了,一般来说是布局view

setContentView(vg) //设置

for(int i = 0 i<5i++){

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)

}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/7932989.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-11
下一篇 2023-04-11

发表评论

登录后才能评论

评论列表(0条)

保存