一、简单自定义控件MyButton
每一个控件都是一个java类,有对应的代码,只要你能正确的编写java代码,那么电脑培训http://www.kmbdqn.cn/发现可以创造出符合你需求的控件,即自定义控件。
1.通过继承的方式,创建自定义控件
通过继承一个现有的控件,覆盖其界面的呈现
通过继承一个包含若干子控件的布局
通过继承一个现有的控件,覆盖某个响应事件
继承一个View来完整自定义一个心控件
2.使你的自定义控件继承自某个最接近的Android控件,必须是public
一般都会调用父类的构造方法,注意一般有三个构造方法
覆盖原来控件的方法,注意是否要再调用super中的方法
在XML中以类全名的方式引用此控件
二、复杂自定义控件MyLogin
需要设计包含一组控件的自定义控件就需要用到复杂的自定义控件
1) 使得你的自定义控件继承自某个接近的布局
2) 正确的实现构造方法:构造方法中实例化目标布局,同时查找到各个子布局
3) 添加相应的响应代码来修改属性,使得外部能访问布局中的子控件
4) 在XML中以类全名的方式引用此控件,完整的包名+类名。
一般的控件只要是继承了View 都可以添加这两个事件,只需要重写View的setOnClicklistener和setOnLongClickListener这两个函数就可以了。添加这两个函数,别人就能用set方法给你传进来listener,而你可以在onTouch方法里通过判断aciton_down action_move action_up 通过时间来判断是长按还是单击。
1.获得控件ExpandableListView mListView = (ExpandableListView) findViewById(R.id.X)
2.添加childOnclick监听
mListView.setOnChildClickListener(childListener)
OnChildClickListener childListener = new OnChildClickListener() {
@Override
public boolean onChildClick(ExpandableListView parent, View v,
int groupPosition, int childPosition, long id) {
}
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)