zoukankan      html  css  js  c++  java
  • android小Demo--圆球跟随手指轨迹移动

      eatwhatApp的客户端基本实现,会再后续进行整改,今天做一个在网上找到的小Demo,让屏幕中出现一个圆球,并跟随手指移动。

      写个java类DrawView继承于View:

    public class DrawView extends View {
    
    	public DrawView(Context context) {
    		super(context);
    	}
    }
    

      定义属性:

    	//画笔
    	private Paint paint;
    	//当前X坐标
    	private float currentX;
    	//当前Y坐标
    	private float currentY;
    
    	public DrawView(Context context) {
    		super(context);
    		this.paint = new Paint();
    		this.currentX = 100;
    		this.currentY = 100;
    	}
    

      重写onDraw()方法:

            @Override
    	protected void onDraw(Canvas canvas) {
    		super.onDraw(canvas);
                	//设置画笔颜色
    		paint.setColor(Color.RED);
    		//绘制圆形,中心位置(currentX, currentY),半径10
    		canvas.drawCircle(currentX, currentY, 10, paint);
    	}     
    

      重写onTouchEven()方法:

            @Override
        public boolean onTouchEvent(MotionEvent event) {
            
            //获取点击事件的坐标x,y
            currentX = event.getX();
            currentY = event.getY();
            
            //重绘控件
            invalidate();
            return true;
        }        

      之后变可以在activity中实例化该控件:

            RelativeLayout layout = (RelativeLayout) findViewById(R.id.layout);
            DrawView draw = new DrawView(this);
            layout.addView(draw);

      这样便完成了该demo。

  • 相关阅读:
    235. Lowest Common Ancestor of a Binary Search Tree
    234. Palindrome Linked List
    233. Number of Digit One
    232. Implement Queue using Stacks
    231. Power of Two
    230.Kth Smallest Element in a BST
    229. Majority Element II
    228. Summary Ranges
    postgres 数组中获取最后一个元素的值
    excel 拆分单元格并填充上一行的数据
  • 原文地址:https://www.cnblogs.com/superdo/p/5272554.html
Copyright © 2011-2022 走看看