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处理scrollciew里嵌套ExpandableListView的滑动事件
  2. Android完美禁用Home键
  3. Android(安卓)Shadow 阴影制作[转]
  4. 解决ScrollView中嵌套RecyclerVIew产生滑动冲突问题
  5. 在Activity中使用Menu
  6. Android中两个HorizontalScrollView联动
  7. 2013.12.05(5)——— android ViewPagerIndicator之SampleTabsDefa
  8. android API Demo之使用ViewFlipper制作轮播广告
  9. Android实现CoverFlow效果三

随机推荐

  1. 【前端词典】如何向老板解释反向代理
  2. 25条很棒的Python一行代码,建议收藏!
  3. Ansible 之 配置文件解析
  4. 【前端词典】学习 Vue 源码的必要知识储
  5. 搭建个人博客,我遇到哪些棘手的问题?
  6. 常用排序算法复杂度,稳定性相关(记忆贴)
  7. 美团面试官:生成订单后一段时间不支付订单
  8. 【前端词典】进阶必备的网络基础
  9. Zookeeper面试常见11个连环炮
  10. Ansible 之 配置远程主机访问