1、Java Code

package com.fish.helloworld;

import android.app.Activity;
import android.content.Context;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.os.Bundle;
import android.util.Log;
import android.view.KeyEvent;
import android.view.Menu;
import android.view.MenuItem;
import android.view.MotionEvent;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.TextView; public class MainActivity extends Activity { @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(new TestMotionView(this));
} public class TestMotionView extends View{
private Paint mPaint = new Paint();
private int mAction;
private float mX;
private float mY; public TestMotionView(Context c){
super(c);
mAction = MotionEvent.ACTION_POINTER_UP;
mX = 0;
mY = 0;
} @Override
protected void onDraw(Canvas canvas){
Paint paint = mPaint;
canvas.drawColor(Color.WHITE);
if(MotionEvent.ACTION_MOVE == mAction){
paint.setColor(Color.RED);
}else if(MotionEvent.ACTION_UP == mAction){
paint.setColor(Color.GREEN);
}else if(MotionEvent.ACTION_DOWN == mAction){
paint.setColor(Color.BLUE);
}
canvas.drawCircle(mX, mY, 10, paint);
setTitle("A = " + mAction + " [" + mX + "," +mY +"]");
}
@Override
public boolean onTouchEvent(MotionEvent event){
mAction = event.getAction();
mX = event.getX();
mY = event.getY();
invalidate();
return true;
} } }

Android代码写View的更多相关文章

  1. Android 代码写控件

    1.设置dialog弹出anthor public static SearchDialog getSearchDialog(Context context,OnDismissListener list ...

  2. Android代码故事第一回,平均间隔的按钮

    我们的APP新做了一个放操作按钮的界面,老板要求简洁美观有内涵,按钮要均匀分布,于是参考之前的实现,设计MM给了一张图,像这样: |================================== ...

  3. android中实现view可以滑动的六种方法续篇(二)

    承接上一篇,上一篇中讲解了实现滑动的第五种方法,如果你还没读过,可点击下面链接: http://www.cnblogs.com/fuly550871915/p/4985482.html 这篇文章现在来 ...

  4. Android点击View显示PopupWindow,再次重复点击View关闭PopupWindow

     Android点击View显示PopupWindow,再次重复点击View关闭PopupWindow 这本身是一个看似很简单的问题,但是如果设置不当,就可能导致莫名其妙失效问题.通常在Andro ...

  5. 编写高效的Android代码

    编写高效的Android代码 毫无疑问,基于Android平台的设备一定是嵌入式设备.现代的手持设备不仅仅是一部电话那么简单,它还是一个小型的手持电脑,但是,即使是最快的最高端的手持设备也远远比不上一 ...

  6. Android代码混淆和项目宣布步骤记录器

    原本放在一起Android项目与发布的文件相混淆.我突然想到,为什么不写博客,分享.有这篇文章的情况下,. Android代码混淆及项目公布步骤记录 一.清理代码中的调试信息,如Log.System. ...

  7. [Android学习笔记]View的measure过程学习

    View从创建到显示到屏幕需要经历几个过程: measure -> layout -> draw measure过程:计算view所占屏幕大小layout过程:设置view在屏幕的位置dr ...

  8. Android的自定义View及View的绘制流程

    目标:实现Android中的自定义View,为理清楚Android中的View绘制流程“铺路”. 想法很简单:从一个简单例子着手开始编写自定义View,对ViewGroup.View类中与绘制View ...

  9. Android 代码混淆 混淆方案

    本篇文章:自己在混淆的时候整理出比较全面的混淆方法,比较实用,自己走过的坑,淌出来的路.请大家不要再走回头路,可能只要我们代码加混淆,一点不对就会导致项目运行崩溃等后果,有许多人发现没有打包运行好好地 ...

随机推荐

  1. java中的final总结

    Java关键字final有最终的,不可改变的含义,它可以修饰非抽象类.非抽象类成员方法和变量. 报错:类"TestFinal"要么是abstract,要么是final的,不能两个都 ...

  2. go 使用模板函数的例子

    代码: package main import (     "bytes"     "fmt"     "text/template"    ...

  3. nyoj 62 笨小熊

    点击打开链接 笨小熊 时间限制:2000 ms  |  内存限制:65535 KB 难度:2 描述 笨小熊的词汇量很小,所以每次做英语选择题的时候都很头疼.但是他找到了一种方法,经试验证明,用这种方法 ...

  4. ubuntu14.04离线配置cm5.5.1

    cd /opt/cm-5.5.1/具体参考http://www.aboutyun.com/thread-10852-1-1.html 离线安装:下载所需文件 http://archive.cloude ...

  5. hadoop配置优化

    yarn-site.xml <property> <name>yarn.nodemanager.resource.memory-mb</name> <valu ...

  6. IntelliJ IDEA设置字符编码为UTF-8

    File->Settings->Editor->File Encodings IDE Encoding: UTF-8 Project Encoding: UTF-8

  7. addAll()报NullPointer原因

    如下代码在注释行会报错,原因是:getSeatTravelerInfo()时值为空,对空对象addAll会报错 SeatBookingInfo b=new SeatBookingInfo(); b.s ...

  8. OS X open finder here in terminal

    just type open .

  9. 海外支付:抵御信用卡欺诈的CyberSource

    海外支付:抵御信用卡欺诈的CyberSource 吴剑 2014-06-04 原创文章,转载必需注明出处:http://www.cnblogs.com/wu-jian 吴剑 http://www.cn ...

  10. 翻译:深入 AngularUI Router

    原文地址:http://www.ng-newsletter.com/posts/angular-ui-router.html ui-router: https://angular-ui.github. ...