代码画圆,并进行单点触控

标签: 用代码画圆 并单点触控
215人阅读 评论(0) 收藏 举报

一,自定义类MyView继承View类:

package com.bawei.yuan.view;

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

    Paint paint = new Paint();
    private int with;
    private int heigh;
    private int radius;
    private float centerx;
    private float centery;

    public MyView(Context context, AttributeSet attrs, int defStyle) {
        super(context, attrs, defStyle);
        // TODO Auto-generated constructor stub
    }

    public MyView(Context context, AttributeSet attrs) {
        super(context, attrs);
        // TODO Auto-generated constructor stub
    }

    public MyView(Context context) {
        super(context);
        // TODO Auto-generated constructor stub;
    }

    // 设置宽和高
    @Override
    protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
        // TODO Auto-generated method stub
        super.onMeasure(widthMeasureSpec, heightMeasureSpec);

        with = MeasureSpec.getSize(widthMeasureSpec);
        heigh = MeasureSpec.getSize(heightMeasureSpec);
        centerx = with / 2;
        centery = heigh / 2;

    }

    // 画布
    @Override
    protected void onDraw(Canvas canvas) {
        // TODO Auto-generated method stub
        super.onDraw(canvas);
        radius = (with - 80) / 2;
        paint.setColor(Color.RED);
        // 开始画圆
        canvas.drawCircle(centerx, centery, radius, paint);
    }

    // 布局
    @Override
    protected void onLayout(boolean changed, int left, int top, int right,
            int bottom) {
        // TODO Auto-generated method stub
        super.onLayout(changed, left, top, right, bottom);
    }

    // 单点触控
    @Override
    public boolean onTouchEvent(MotionEvent event) {
        switch (event.getAction()) {
        case MotionEvent.ACTION_DOWN:

            break;
        case MotionEvent.ACTION_MOVE:
            centerx=event.getX();
            centery=event.getY();
            
            postInvalidate();
            break;
        case MotionEvent.ACTION_UP:

            break;
        }
        return true;
    }
}

二,在MainActivity的main.xml中布局,引入MyView的自定义布局

<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=".MainActivity" >

    <com.bawei.yuan.view.MyView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        />

</RelativeLayout>

MainActivity中不需要做处理即可运行,并可以单点触控,对圆进行位移

查看评论

单点触控、多点触控和自定义控件的使用

单点触控的使用比如图片的位移、旋转,透明,缩放等. 多点触控的使用Android多点触控的本质:需要LCD驱动和保存程序本身设计上的支持 市场上的应用:HTC、Motorota和Samsung等知名厂...
  • liu_jing_hui
  • liu_jing_hui
  • 2016-08-25 14:23:42
  • 654

android开发之单点触摸

相对于多点触摸,单点触摸还是很简单的。 新建一个工程,先看看布局文件:...
  • u012702547
  • u012702547
  • 2015-05-15 20:13:07
  • 7063

android 全屏设置为单点触摸

今天做了关于单点触摸以及
  • songyan11
  • songyan11
  • 2014-06-25 16:08:08
  • 362

Cocos2D-X学习11:交互功能——单点触控的实现

交互是应用最重要的一个部分,用户使用鼠标、键盘、触控来实现交互操作。在Cocos2d-x中,提供了EventListenerTouch(触摸事件)、EventListenerKeyboard(键盘响应...
  • lin453701006
  • lin453701006
  • 2016-11-28 11:15:28
  • 423

Android单点触摸与多点触摸

先测试单点触摸事件,它适用于所有android版本。我们在视图中注册一个OnTouchListener接口,并把触摸时间传递给这个接口实现。OnTouchListener接口只有一个方法:public...
  • G_MuHan
  • G_MuHan
  • 2017-07-08 21:54:47
  • 222

LeanTouch.unitypackage

  • 2017年05月26日 11:31
  • 1.02MB
  • 下载

COCOS学习笔记--单点触控

最近在看曹世博老师关于cocos引擎的学习教程,打算重新再系统梳理一下cocos相关的知识结构,学习之余把自己的一些收获和理解总结记录下来,方便日后自己回顾并同时希望本笔记可以对各位cocos学习者有...
  • gzy252050968
  • gzy252050968
  • 2016-01-16 15:58:59
  • 1816

Android游戏开发之单点触摸与多点触摸

Android游戏开发之单点触摸与多点触摸的响应方式 游戏开发中的触摸事件 在游戏开发中监听屏幕触摸事件须要在View中重写父类onTouchEvent方法,在重写的方法中拦截用户触摸屏幕的一...
  • caoliu1024cl
  • caoliu1024cl
  • 2017-08-01 14:52:55
  • 665

HTML5触屏设备单点触控事件

HTML5触屏设备的单点触控提供了touchstart,touchend,touchmove和touchcancel四种事件 现在什么技术最火?HTML5!现在什么技术最时尚!还...
  • muguli2008
  • muguli2008
  • 2016-09-03 19:40:26
  • 1380

Android单点触控技术,对图片进行平移,缩放,旋转操作

相信大家使用多点对图片进行缩放,平移的操作很熟悉了,大部分大图的浏览都具有此功能,有些app还可以对图片进行旋转操作,QQ的大图浏览就可以对图片进行旋转操作,大家都知道对图片进行缩放,平移,旋转等操作...
  • xiaanming
  • xiaanming
  • 2015-01-19 08:42:58
  • 41053
    个人资料
    等级:
    访问量: 5114
    积分: 201
    排名: 90万+
    文章分类
    最新评论