自定义View 小圆随手指移动
2017-12-28 08:12
381 查看
自定义View就是为了实现系统自带控件无法实现的功能
自定义一个View(小圆)首先要继承一个View
之后要在布局之中要用到他
自定义一个View(小圆)首先要继承一个View
public class CircleView extends View { private float cx = 100; private float cy = 100; public CircleView(Context context) { super(context); } public CircleView(Context context, @Nullable AttributeSet attrs) { super(context, attrs); } public CircleView(Context context, @Nullable AttributeSet attrs, int defStyleAttr) { super(context, attrs, defStyleAttr); } @Override protected void onDraw(Canvas canvas) { super.onDraw(canvas); Paint paint = new Paint(); paint.setColor(Color.RED); paint.setAntiAlias(true); paint.setStyle(Paint.Style.FILL); canvas.drawCircle(cx,cy,100,paint); } // 这是为了解决事件冲突 @Override public boolean onTouchEvent(MotionEvent event) { switch (event.getAction()){ case MotionEvent.ACTION_DOWN://按下 cx = event.getX(); cy = event.getY(); break; case MotionEvent.ACTION_MOVE://移动 cx = event.getX(); cy = event.getY(); break; case MotionEvent.ACTION_UP://抬起 cx = event.getX(); cy = event.getY(); break; } //需要重新绘制一下图形 //invalidate();//但是只能在主线程进行图形的绘制 postInvalidate();//主线程和子线程都可以....调用这两个方法的时候,会自动调用onDraw方法 //触摸事件自己处理 return true; }
之后要在布局之中要用到他
<com.dash.a03_custom_view.view.CircleView android:layout_width="wrap_content" android:layout_height="wrap_content" />
相关文章推荐
- Android 实例:通过自定义View组件实现跟随手指移动的小兔子
- Android自定义view圆并随手指移动
- 自定义View:点、图片随手指而移动的View
- Android开发——自定义View之实现跟随手指移动的小球
- Android自定义圆形View实现小球跟随手指移动效果
- Android-通过自定义View组件实现跟随手指移动的ImageView组件
- 自定义view随手指移动的小球
- 自定义跟随手指移动view
- 一个随手指移动的自定义View和一个随手指移动的ImageView(附源码)
- android从零开始-开发自定义View-跟随手指移动的小球
- 自定义view的进度条与手指移动事件
- 自定义ViewGroup[跟随手指移动的view]
- 自定义随机颜色的圆形小球view随手指移动
- 17、Android之SurfaceView实例自定义SurfaceView的应用——小球跟着手指移动
- android 利用ViewDragHelper实现childView可随手指移动的自定义ViewGroup
- 自定义圆形View:实现跟随手指移动的小球
- 自定义view实现随手指移动的小球及画轨迹
- 自定义View重写onTouchCount,实现圆形随手指移动
- 自定义view 实现跟随手指移动的小球
- android自定义view之画圆随着手指移动