package com.example.helloandroid;

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.os.Handler;

import android.view.MotionEvent;

import android.view.View;

import android.widget.Button;

import android.widget.TextView;

public class HelloAndroid extends Activity {

private TextView mTextView01;

private TextView mTextView02;

private Button mButtonView01;

private static final String url = "file:///android_asset/index.html";

@Override

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

MyView myView = new MyView(this);

//setContentView(R.layout.main);

setContentView(myView);

}

/*自定义继承View的MyView*/

private class MyView extends View implements Runnable

{

boolean isRunning = true;

int radius = 30;

int left = 30;

int top = 30;

Handler handler;

int dx=1;

int dy=1;

public MyView(Context context)

{

super(context);

handler = new Handler();

new Thread(this).start();

}

/*重写onDraw()*/

@Override

protected void onDraw(Canvas canvas)

{

super.onDraw(canvas);

canvas.drawColor(Color.WHITE);//背景色为白

Paint paint = new Paint();

paint.setAntiAlias(true);//去锯齿

paint.setColor(Color.RED);

paint.setStyle(Paint.Style.STROKE);//空心的

paint.setStrokeWidth(3);//外框宽度

/*画空心圆形*/

canvas.drawCircle(left, top, radius, paint);

}

@Override

public boolean onTouchEvent(MotionEvent event){

isRunning = false;

return true;

}

public void run() {

// TODO Auto-generated method stub

while(isRunning){

dx = left < radius || left > (getWidth()-radius)? -dx:dx;

dy = top < radius || top > (getHeight()-radius)? -dy:dy;

left = left + dx;

top = top + dy;

handler.post(new Runnable(){

public void run(){

invalidate();

}

}

);

try{

Thread.sleep(10);

}catch(InterruptedException e){

e.printStackTrace();

}

}

}

}

}

更多相关文章

  1. Android中的HashMap原理实践探索,重写equals(),为什么重写hashCode
  2. android 抗锯齿效果
  3. Android中重写onBackPressed()方法实现双击退出
  4. 两种button点击后改变颜色的方法selectot和重写
  5. Android(Java):滑动删除实现——重写onTouch
  6. 关于用Android的API重写drawRegion方法的代码
  7. android重写Dialog
  8. 重写Button实现图片drawableTop和文字一起居中
  9. Android重写onConfigurationChanged规避横竖屏切换时候重新进入o

随机推荐

  1. Android—Room数据库多表查询(Relationsh
  2. 国内外知名Android开发者GitHub、Blog
  3. Android分析之LowMemoryKiller
  4. Android Binder入门指南之Binder服务的消
  5. UnityAndroid开发(1) 打包和使用Sqlite数
  6. 调用Android自带浏览器打开网页
  7. Android 老生常谈之消息机制
  8. Android应用程序安装过程源代码分析(2)
  9. Android连接web服务器
  10. Android图像处理之GPUImage for Android