3 随手移动的小球。。。基于回调的事件

来源:互联网 发布:php专用提权大马 编辑:程序博客网 时间:2024/05/03 06:24

-----------------------------------------main.java------------------------------

package com.example.nn;


import android.support.v7.app.ActionBarActivity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;


public class MainActivity extends ActionBarActivity {


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


}


-----------------------------------------BallView.java---------------------------------------


package com.example.nn;


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 BallView extends View {


public float currentX = 0;
public float currentY = 0;
private Paint paint = new Paint();
public BallView(Context context, AttributeSet attrs) {
super(context, attrs);

}


@Override
protected void onDraw(Canvas canvas) {
// TODO Auto-generated method stub
super.onDraw(canvas);
//设置画笔颜色
paint.setColor(Color.RED);
//绘制一个小圆
canvas.drawCircle(currentX, currentY, 15, paint);
}




@Override
public boolean onTouchEvent(MotionEvent event) {
//当前组件的currentX、currentY两个属性
currentX = event.getX();
currentY = event.getY();
//通知重绘
this.invalidate();
//返回true表明已经处理完该事件。若返回false表明没有处理完该事件,即该事件会扩散
return true;
}



}

。。。。。。。。。。。。。。。。。main.xml。。。。。。。。。。。。。。。。。。。


<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context="com.example.nn.MainActivity" >


    <!-- 自定义组件 -->
    <com.example.nn.BallView 
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        />


</RelativeLayout>

0 0
原创粉丝点击