android脚步---跟随手指动的小球

这次的学习主要是在包里面除自动生成的mainactivity.java之外,再新建一个class, DrawView,在mainactivity里面调用DrawView。

在DrawView里面主要是重写onDraw方法,----该方法负责在该组件指定位置绘制一个小球。

package org.crazyit.helloworld;
import android.content.Context; 

import android.graphics.Canvas; 

import android.graphics.Color; 

import android.graphics.Paint; 

import android.view.View; 

public class DrawView extends View{
	   public float currentX=40; 

	    public float currentY=50; 

	    //必须重写一个构造方法 

	    public DrawView(Context context) { 

	        super(context); 

	        // TODO Auto-generated constructor stub 

	    } 

	    //重写onDraw方法通过Canvas绘画 

		@Override 

	    public void onDraw(Canvas canvas) {       

	        super.onDraw(canvas); 

	        //创建画笔 

	        Paint paint=new Paint(); 

	        paint.setColor(Color.RED); 

	        //绘制一个小圆 

	        canvas.drawCircle(currentX, currentY, 25, paint); 

	    } 

}

在mainactivity里面引用drawview.

package org.crazyit.helloworld;

import android.app.Activity;
import android.os.Bundle;
import android.util.Log;
import android.view.MotionEvent;
import android.view.View;
import android.widget.LinearLayout; 

public class MainActivity extends Activity {
	    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState); 

	        setContentView(R.layout.activity_main);
	        LinearLayout root=(LinearLayout) findViewById(R.id.root);
	        //创建一个自己继承于View的对象 

	        final DrawView drawView=new DrawView(this); 

	        //设置自定义组件的最大宽度和高度 

	        drawView.setMinimumWidth(300); 

	        drawView.setMinimumHeight(500);
            //为drawview组件绑定tounch事件
	        drawView.setOnTouchListener(new View.OnTouchListener() {     

	            public boolean onTouch(View v, MotionEvent event) {
	            	Log.e("onTouch", "onTouch");

	                drawView.currentX=event.getX(); 

	                drawView.currentY=event.getY();  

	                //通知drawview组件重绘 

	                drawView.invalidate(); 

	                //返回true表明算是方法已经处理该事件 

	                return true; 

	            } 

	        }); 

	        root.addView(drawView); 

	    }
	}

main.xml中为:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"

    android:layout_width="fill_parent" 

    android:layout_height="fill_parent" 

    android:orientation="vertical"  

    android:background="#00FFCC" //定义背景颜色

    android:id="@+id/root"> 

</LinearLayout>

最终结果:

时间: 2024-11-10 08:59:01

android脚步---跟随手指动的小球的相关文章

Android开发——跟随手指的小球实现

今天要实现的是一个跟随手指的小球,说白了就是让小球按着手指滑动的轨迹运动,实现起来还是比较容易的. 用到的类是drawView,我们先自定义一个DrawView组件. DrawView.java: package cn.csdn.android.view; import android.content.Context; import android.graphics.Canvas; import android.graphics.Color; import android.graphics.Pa

Android---26---跟随手指移动的小球

通过回调实现跟随手指移动的小球: 那么什么是回调,这里的回调是指Android中两种事件处理的方式.一种是通过监听器来实现的监听机制,一种是通过自身的方法实现的回调机制. 基于监听的处理机制,主要涉及三类对象: EventSource(事件源):通常是各个组件: Event(事件):对组件的操作: EventListener(事件监听器):做出响应. 所谓事件监听器其实就是实现了特定接口的Java类的实例. 在程序中实现事件监听器,有四种形式: 1.内部类形式 2.外部类形式 3.Activit

自定义View,随着手指运动的小球

这个实例是自定的view的初步介绍,要设计的是一个随着手指运动的小球.原理是随时获取手指的坐标,然后在这个坐标上面实时改变自定义view的坐标.这个view仅仅是画了一个圆形而已. 自定义的view DrawView.java package com.kale.drawview; import android.annotation.SuppressLint; import android.content.Context; import android.graphics.Canvas; impor

移动端H5单页面跟随手指滑动切换组件PageSlider

转载地址:http://www.ifrans.cn/pageslider/?replytocom=38914 PageSlider PageSlider 是一个基于zepto.js用于实现H5单页面跟随手指上下滑动切换的组件,支持通过transform3D启动GPU加速,目前仅支持移动端touch设备. <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta name=&

滑动跟随手指横向滑动

浪去项目有个头图滑动横向滑动的需求,故写次demo <!DOCTYPE html> <html> <head> <title>滑动跟随手指横向滑动</title> <style type="text/css"> .spirit { /* 方块的class名称*/ position: absolute; width: 50px; height: 50px; background-color: red; } </

纯CSS动画打造~会动的小球

会动的小球,设计html,css知识点,另外动画是完全用css做的,很简单便捷哦~这只是一个小小的案例 ,以后为大家提供更多的案例!!会动的小球<!DOCTYPE html> **<html> <head> <meta charset="UTF-8"> <title>CSS3 loading图标</title> <link rel="stylesheet" href="css/l

Android应用小实例--跟随手指的小球

实现效果图: 实现方式: 继承View类自己重绘一个圆,然后将这个自定义的继承于View类的加入到当前的Activity并且为这个自定义的View控件添加一个onTouchLitener事件 自定义组件继承于View类: [java] view plain copy print ? package com.jiahui.draw; import android.content.Context; import android.graphics.Canvas; import android.grap

跟随手指的小球

     Crize_demo\draw_demo\src\main\java\com\ly\draw_demo\DrawView.java 1 import android.content.Context; 2 import android.graphics.Canvas; 3 import android.graphics.Color; 4 import android.graphics.Paint; 5 import android.view.View; 6 7 public class

Android中view的简单应用---随手指移动的小球

public class DrawView extends View{     public  float currentX=40;     public float currentY=50;     public DrawView(Context context){         super(context);     }     //重写ondraw,通过canvas绘画     protected void onDraw(Canvas canvas){         Paint pai