Android中利用画图类和线程画出闪烁的心形,android心形,package com.package com.tt.view;import android.content.Context;import android.graphics.Canvas;import android.graphics.Color;import android.graphics.Paint;import android.graphics.RectF;import android.graphics.Typeface;import android.view.SurfaceHolder;import android.view.SurfaceView;public class Love extends SurfaceView implements SurfaceHolder.Callback,Runnable{ boolean mbloop = false; SurfaceHolder mSurfaceHolder = null; private Canvas canvas; int minCount = 0; int y = 50; public Love(Context context) { super(context); mSurfaceHolder = this.getHolder(); mSurfaceHolder.addCallback(this); this.setFocusable(true); this.setKeepScreenOn(true); mbloop = true; } @Override public void run() { // TODO Auto-generated method stub while(mbloop) { try { Thread.sleep(200); } catch (Exception e) { // TODO: handle exception } synchronized (mSurfaceHolder) { draw(); } } } @Override public void surfaceChanged(SurfaceHolder holder, int format, int width, int height) { // TODO Auto-generated method stub } @Override public void surfaceCreated(SurfaceHolder holder) { // TODO Auto-generated method stub new Thread(this).start(); } @Override public void surfaceDestroyed(SurfaceHolder holder) { // TODO Auto-generated method stub mbloop = false; } private void draw() { canvas = mSurfaceHolder.lockCanvas(); try { if(mSurfaceHolder == null || canvas == null) { return; } if(minCount < 100) { minCount ++; } else { minCount = 0; } Paint paint = new Paint(); paint.setAntiAlias(true); paint.setColor(Color.BLACK); canvas.drawRect(0, 0,320,480,paint); switch (minCount % 6) { case 0: paint.setColor(Color.YELLOW); break; case 1: paint.setColor(Color.BLUE); break; case 2: paint.setColor(Color.GREEN); break; case 3: paint.setColor(Color.RED); break; case 4: paint.setColor(Color.argb(255, 255, 181, 216)); break; case 5: paint.setColor(Color.argb(255, 0, 255, 255)); break; default: break; } int i, j; double x, y, r; for (i = 0; i <= 90; i++) { for (j = 0; j <= 90; j++) { r = Math.PI / 45 * i * (1 - Math.sin(Math.PI / 45 * j)) * 20; x = r * Math.cos(Math.PI / 45 * j) * Math.sin(Math.PI / 45 * i) + 320 / 2; y = -r * Math.sin(Math.PI / 45 * j) + 400 / 4; canvas.drawPoint((float) x, (float) y, paint); } } paint.setTextSize(32); paint.setTypeface(Typeface.create(Typeface.SERIF, Typeface.ITALIC)); RectF rect = new RectF(60, 400, 260, 405); canvas.drawRoundRect(rect, (float) 1.0, (float) 1.0, paint); canvas.drawText("Loving You", 75, 400, paint); mSurfaceHolder.unlockCanvasAndPost(canvas); } catch (Exception e) { // TODO: handle exception } }}package com.tt.view;import android.app.Activity;import android.os.Bundle;public class GameMainActivity extends Activity { private Love love; /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); this.love = new Love(this); setContentView(love); }}//该片段来自于http://byrx.net

java线程画动图闪,Android中利用画图类和线程画出闪烁的心形,android心形,package com....相关推荐

  1. android使用动画画心形,Android中利用画图类和线程画出闪烁的心形,送给亲爱的他(她)...

    本文讲解主要涉及的知识点: 1.线程控制 2.画图类 3.心形函数 大家先看图片: 因为前一段时间在写画图类,刚好有一个线程控制画图闪烁的,我就想说我能不能做一个心形闪烁的,出来的效果就如图,先贴再讲 ...

  2. 用python画八卦图-用Python中的画图工具turtle绘制八卦图

    首先看看八卦图的构造原理,它是由4个半圆和2个小圆组成的,所以只需要画半圆和圆,再进行填充就可以构造成一个简单的八卦图了. 1. 导入画笔工具tultle并创建我的画笔: import turtle ...

  3. Android开发——Android中常见的4种线程池(保证你能看懂并理解)

    0.前言 转载请注明出处:http://blog.csdn.net/seu_calvin/article/details/52415337 使用线程池可以给我们带来很多好处,首先通过线程池中线程的重用 ...

  4. 用matplotlib的Animation画动图

    摘要:本文通过几个例子学习了 matplotlib.animation 画动图的方法 --- 对算法,数学,计算机感兴趣的同学,欢迎关注我哈,原创文章 我的网站:潮汐朝夕的生活实验室 我的公众号:潮汐 ...

  5. 在Android中使用Handler和Thread线程执行后台操作

    在 Android中使用Handler和Thread线程执行后台操作 对于线程的控制,我们将介绍一个 Handler类,使用该类可以对运行在不同线程中的多个任务进行排队,并使用Message和Runn ...

  6. Android中利用HttpClient建立一次持久的连接

    首先,http协议是无状态的连接,之前的两种方式get,与post连接方式,每点击一次就启动了一个线程,而在启动线程时 很自然的就重新的new出了一个新的HttpClient,相当于两个客户端向服务器 ...

  7. android view gesturedetector,如何在Android中利用 GestureDetector进行手势检测

    如何在Android中利用 GestureDetector进行手势检测 发布时间:2020-11-26 16:15:21 来源:亿速云 阅读:92 作者:Leah 今天就跟大家聊聊有关如何在Andro ...

  8. android 布局颜色设置颜色设置,怎么在Android中利用view设置布局颜色

    怎么在Android中利用view设置布局颜色 发布时间:2020-12-10 16:16:37 来源:亿速云 阅读:154 作者:Leah 这期内容当中小编将会给大家带来有关怎么在Android中利 ...

  9. Android中的Looper类

    简介 android中的looper类,是用来封装消息循环和消息队列的一个类,用于在Android线程中进行消息处理.handler可以看作是工具类,用于向消息队列中插入消息. looper类的作用 ...

最新文章

  1. 高效Transformer层出不穷,谷歌团队综述文章一网打尽
  2. 小记 | 从 0 到 1,看我玩弄千万日志于股掌
  3. Mysql中的排序规则utf8_unicode_ci、utf8_general_ci的区别总结
  4. linux fcntl注销信号,fcntl · Linux C API 参考手册 · 看云
  5. WEBGIS体系和OGC标准
  6. CGI、FastCGI 知识总结
  7. python的socks5全局代理_Python写的Socks5协议代理服务器
  8. 前端学习(3252):react脚手架
  9. 真正的大学老师,是那些无需打卡和考评,也会不可遏止地要去读书写作和上课的人...
  10. linux mysql 修改密码之后还是不能登录_怎样在Linux下搭建接口自动化测试平台?...
  11. linux 重启oracle实例_Oracle实战(二)-Oracle概述
  12. SpringBoot, 启动类,使用「SpringBootApplication」标注
  13. 如何制作响应式网站?12个优秀案例参考
  14. 2014 年 1 月 21 日国内互联网根域名服务器 (DNS) 故障是什么原因?
  15. Logstash的logstash-input-jdbc插件mysql数据同步ElasticSearch及词库
  16. android框架揭秘!连续四年百度Android岗必问面试题!实战篇
  17. android网络请求忽略证书,android,_Okhttp3 忽略证书问题,android - phpStudy
  18. 卡尔曼滤波器:用R语言中的KFAS建模时间序列
  19. ucosii等待信号量函数中pend前后怎样执行
  20. Web3 | DID赛道之 Galxe(原 Project Galaxy)

热门文章

  1. php显示24小时制,php将12小时制转换成24小时制的方法
  2. centos7搭建elk
  3. [凡文]Docker+Jenkins+Gradle+GitLab在Linux服务端自动化构建Android包
  4. PocketLibs(3)—— 进度条 NProgress
  5. Linux学习体会。
  6. 桥接模式(Bridge)解析例子
  7. 【Spring】一次线上@Transational事务注解未生效的原因探究
  8. python xlrd模块
  9. 我常用的Latex中文报告模板(一)
  10. SQL Server 2005中NTEXT与NVARCHAR(MAX)