Android代码写View
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的更多相关文章
- Android 代码写控件
1.设置dialog弹出anthor public static SearchDialog getSearchDialog(Context context,OnDismissListener list ...
- Android代码故事第一回,平均间隔的按钮
我们的APP新做了一个放操作按钮的界面,老板要求简洁美观有内涵,按钮要均匀分布,于是参考之前的实现,设计MM给了一张图,像这样: |================================== ...
- android中实现view可以滑动的六种方法续篇(二)
承接上一篇,上一篇中讲解了实现滑动的第五种方法,如果你还没读过,可点击下面链接: http://www.cnblogs.com/fuly550871915/p/4985482.html 这篇文章现在来 ...
- Android点击View显示PopupWindow,再次重复点击View关闭PopupWindow
Android点击View显示PopupWindow,再次重复点击View关闭PopupWindow 这本身是一个看似很简单的问题,但是如果设置不当,就可能导致莫名其妙失效问题.通常在Andro ...
- 编写高效的Android代码
编写高效的Android代码 毫无疑问,基于Android平台的设备一定是嵌入式设备.现代的手持设备不仅仅是一部电话那么简单,它还是一个小型的手持电脑,但是,即使是最快的最高端的手持设备也远远比不上一 ...
- Android代码混淆和项目宣布步骤记录器
原本放在一起Android项目与发布的文件相混淆.我突然想到,为什么不写博客,分享.有这篇文章的情况下,. Android代码混淆及项目公布步骤记录 一.清理代码中的调试信息,如Log.System. ...
- [Android学习笔记]View的measure过程学习
View从创建到显示到屏幕需要经历几个过程: measure -> layout -> draw measure过程:计算view所占屏幕大小layout过程:设置view在屏幕的位置dr ...
- Android的自定义View及View的绘制流程
目标:实现Android中的自定义View,为理清楚Android中的View绘制流程“铺路”. 想法很简单:从一个简单例子着手开始编写自定义View,对ViewGroup.View类中与绘制View ...
- Android 代码混淆 混淆方案
本篇文章:自己在混淆的时候整理出比较全面的混淆方法,比较实用,自己走过的坑,淌出来的路.请大家不要再走回头路,可能只要我们代码加混淆,一点不对就会导致项目运行崩溃等后果,有许多人发现没有打包运行好好地 ...
随机推荐
- apache重写规则自动追加查询参数QSA
看好多大网站上的搜索都是以.html?keyword=手机&page=abc这个样子表现, 如: search_goods.html?q=%BF%D5%C6%F8%BE%BB%BB%AF%C6 ...
- A^B问题
题目:输入包括两个正整数 A 和 B(1 <= A, B <= 10000),A 和 B 之前用空格隔开 ★数据输出 输出一行,若 A ^ B < 10000,则直接输出结果(不包含 ...
- VVDocumenter-Xcode 规范注释生成器 插件之安装调试适应新版本
1.下载地址: 很多时候,为了快速开发,很多的技术文档都是能省则省,这个时候注释就变得异常重要,再配合Doxygen这种注释自动生成文档的,就完美了.但是每次都要手动输入规范化的注释,着实也麻烦,但有 ...
- windows service的作成
http://jingyan.baidu.com/article/fa4125acb71a8628ac709226.html
- perl处理含有中文字符的json编码
例子:1. 有php的 json函数生成的中文串 [root@tts177:/tmp]$/opt/php/bin/php -r 'echo json_encode(Array("a" ...
- 96、facebook Fresco框架库源使用基础
开源项目链接 facebook Fresco仓库:git clone https://github.com/facebook/fresco facebook Fresco主页:“>http:// ...
- C语言中access、_mkdir、sprintf、 fopen、fwrite函数
int access(const char *filename, int amode); amode参数为0时表示检查文件的存在性,如果文件存在,返回0,不存在,返回-. 这个函数还可以检查其它文件属 ...
- [Java] 03 String获取文件后缀名,判断文件是否合法
package test.string; import java.util.Arrays; import java.util.List; public class GetFileType { priv ...
- 用jQuery之后,之前javascript的一些方法就不能用了吗
用jQuery之后,之前javascript的一些方法就不能用了吗? 比如$("#btn").onclick = function(){}这种用法?或者$("#btn&q ...
- 华硕X84L无线驱动查找
打开官网:http://www.asus.com.cn/ 点击导航栏的服务与支持 产品型号识别http://www.asus.com.cn/support/Article/565/ 我的是:X84L ...