自定义View及其监听事件
2016-05-28 10:31
375 查看
第一步自定义view,画了一个圆。给他做点击事件。
第二步,就是调用。
至此,我们完成了自己绘制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,并且自定义一个监听器事件,虽然很简单。但是可以扩展。欢迎留言。
相关文章推荐
- java-WEB中的监听器Lisener
- 配置View桌面时找不到域的解决方法
- 完全克隆的虚拟桌面部署问题
- C#采用Winform实现类似Android的Listener
- 实例讲解JavaScript的Backbone.js框架中的View视图
- Android中View自定义组合控件的基本编写方法
- Android重写View实现全新的控件
- Oracle Listener 动态注册 与 静态注册
- Android自定义View过程解析
- Android自定义View软键盘实现搜索
- thinkphp3.x自定义Action、Model及View的简单实现方法
- codeigniter中view通过循环显示数组数据的方法
- MVVM模式中ViewModel和View、Model有什么区别?
- Android使用WindowManager构造悬浮view
- Android App开发中自定义View和ViewGroup的实例教程
- Android应用开发中View绘制的一些优化点解析
- 自定义滑动按钮为例图文剖析Android自定义View绘制
- Android自定义View实现带数字的进度条实例代码
- Android重写View并自定义属性实例分析
- android开发教程之view组件添加边框示例