免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1556 | 回复: 1
打印 上一主题 下一主题

[Android] 跟随手指的小球 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2015-07-24 14:14 |只看该作者 |倒序浏览
Crize_demo\draw_demo\src\main\java\com\ly\draw_demo\DrawView.java
  1. import android.content.Context;
  2. import android.graphics.Canvas;
  3. import android.graphics.Color;
  4. import android.graphics.Paint;
  5. import android.view.View;

  6. public class DrawView extends View {

  7.     public float currentX = 40;
  8.     public float currentY = 50;

  9.     public DrawView(Context context) {
  10.         super(context);
  11.     }

  12.     @Override
  13.     protected void onDraw(Canvas canvas) {
  14.         super.onDraw(canvas);
  15.         //创建画笔
  16.         Paint paint = new Paint();
  17.         //设置画笔的颜色
  18.         paint.setColor(Color.RED);
  19.         //绘制一个小圆(作为小球)
  20.         canvas.drawCircle(currentX,currentY,15,paint);
  21.     }
  22. }
复制代码
Crize_demo\draw_demo\src\main\res\layout\activity_main.xml
  1. <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
  2.     xmlns:tools="http://schemas.android.com/tools"
  3.     android:layout_width="match_parent"
  4.     android:layout_height="match_parent"
  5.     android:orientation="horizontal"
  6.     android:id="@+id/root"
  7.     tools:context=".MainActivity">

  8. </LinearLayout>
复制代码
Crize_demo\draw_demo\src\main\java\com\ly\draw_demo\MainActivity.java
  1. import android.app.Activity;
  2. import android.os.Bundle;
  3. import android.view.MotionEvent;
  4. import android.view.View;
  5. import android.widget.LinearLayout;

  6. public class MainActivity extends Activity {
  7.    
  8.     @Override
  9.     protected void onCreate(Bundle savedInstanceState) {
  10.         super.onCreate(savedInstanceState);
  11.         setContentView(R.layout.activity_main);
  12.         //获取布局文件中的LinearLayout容器
  13.         LinearLayout root = (LinearLayout) findViewById(R.id.root);
  14.         //创建DrawView组件
  15.         final DrawView drawView = new DrawView(this);
  16.         //设置自定义框架的宽度和高度
  17.         drawView.setMinimumWidth(300);
  18.         drawView.setMinimumHeight(500);
  19.         //为drawView绑定Touch事件(触摸屏幕的监听事件)
  20.         drawView.setOnTouchListener(new View.OnTouchListener() {
  21.             @Override
  22.             public boolean onTouch(View v, MotionEvent event) {
  23.                 //修改drawView组件的currentX,currentY两个属性
  24.                 drawView.currentX = event.getX();
  25.                 drawView.currentY = event.getY();
  26.                 //通知drawView组件重绘
  27.                 drawView.invalidate();
  28.                 //返回true表明处理方法已经处理该事件
  29.                 return true;
  30.             }
  31.         });
  32.         root.addView(drawView);
  33.     }


  34. }
复制代码

论坛徽章:
59
2015七夕节徽章
日期:2015-08-24 11:17:25ChinaUnix专家徽章
日期:2015-07-20 09:19:30每周论坛发贴之星
日期:2015-07-20 09:19:42ChinaUnix元老
日期:2015-07-20 11:04:38荣誉版主
日期:2015-07-20 11:05:19巳蛇
日期:2015-07-20 11:05:26CU十二周年纪念徽章
日期:2015-07-20 11:05:27IT运维版块每日发帖之星
日期:2015-07-20 11:05:34操作系统版块每日发帖之星
日期:2015-07-20 11:05:36程序设计版块每日发帖之星
日期:2015-07-20 11:05:40数据库技术版块每日发帖之星
日期:2015-07-20 11:05:432015年辞旧岁徽章
日期:2015-07-20 11:05:44
2 [报告]
发表于 2015-08-11 15:41 |只看该作者
学习了。对轨迹学有用。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP