您的位置:首页 > 其它

自定义View及其监听事件

2016-05-28 10:31 316 查看
第一步自定义view,画了一个圆。给他做点击事件。

public class TopBar extends View{

private Paint mPaint;
private OnTopBarListener mOnTopBarListener;
public  TopBar(Context context){
this(context,null);
}
public TopBar(Context context, AttributeSet attrs) {
super(context, attrs);
init();
}
//   初始化,新建一个画笔,并设定颜色
private void init() {
mPaint = new Paint();
mPaint.setColor(Color.GREEN);
}
//   绘制一个圆
@Override
protected void onDraw(Canvas canvas) {
super.onDraw(canvas);
canvas.drawCircle(getWidth()/2,getHeight()/2,getWidth()/2,mPaint);
}
//    3.真正起作用,处理事情的地方。可以用其他的监听器框架
@Override
public void setOnClickListener(OnClickListener l) {
super.setOnClickListener(l);
//        这个地方的方法,是留着将来什么地方调用,写社么东西,他就执行什么
mOnTopBarListener.onClick();

}
//    1.定义接口,方法
public interface OnTopBarListener {
void onClick();
}
//    2.设置使用方法
public void setOnTopBarListener(OnTopBarListener onTopBarListener){
mOnTopBarListener = onTopBarListener;
}
}


第二步,就是调用。

TopBar topBar=new TopBar(MainActivity.this);
//        调用自制的监听器,很像系统监听器吧。
topBar.setOnTopBarListener(new TopBar.OnTopBarListener() {
@Override
public void onClick() {
Toast.makeText(MainActivity.this,"点击",Toast.LENGTH_SHORT).show();
}
});


至此,我们完成了自己绘制view,并且自定义一个监听器事件,虽然很简单。但是可以扩展。欢迎留言。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  view listener