Androidのイベント処理はコールバックで指に従う小球を実現

2047 ワード

1.Viewサブクラスをカスタマイズし、ボールの効果を実現
ボールの移動原理は、onTouchEventコールバックにより、指がスクリーンに触れた位置にリアルタイムで戻り、ボールの位置座標に値を付け、onDrawに再描画を通知することです.
package com.example.plane;

import android.content.Context;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.util.AttributeSet;
import android.view.MotionEvent;
import android.view.View;

public class DrawView extends View {

    public float currentX = 40;
    public float currentY = 50;
    //      
    Paint p = new Paint();
    public DrawView(Context context, AttributeSet attrs) {
        super(context, attrs);
    }

    @Override
    protected void onDraw(Canvas canvas) {
        super.onDraw(canvas);
        //      
        p.setColor(Color.RED);
        canvas.drawCircle(currentX, currentY, 15, p);
    }

    @Override
    public boolean onTouchEvent(MotionEvent event) {
        //           
        this.currentX = event.getX();
        this.currentY = event.getY();
        //       
        this.invalidate();
        return true;
    }
}

2.Android XMLレイアウトで上記カスタムビューを参照
参照する方法は、カスタムViewのフルパス+クラス名をコンポーネントとしてXMLに書き込むことです.



    


3.MainActivityで最も基本的な導入レイアウトファイルを設定し、実行すればよい.
package com.example.plane;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

    }
}