不太会录像,没办法,智能截图了

不多说了,直接上代码

package com.shipneg.demoysp.demo;import android.content.Context;
import android.graphics.Bitmap;
import android.graphics.Canvas;
import android.graphics.Matrix;
import android.graphics.Paint;
import android.os.CountDownTimer;
import android.util.AttributeSet;
import android.util.Log;
import android.view.MotionEvent;
import android.widget.ImageView;/*** Created by dell on 2017/4/7.*/
public class RotationView extends ImageView {/*** 要转动的图片**/private Bitmap bitMap;/*** 风车每次转动的弧度**/private int rad = 0;/*** 风车移动的轨迹**/private int excursion = -100;/*** 图片的宽度:在这里提供的是正方形的图片,所以宽度和高度是一样的**/private int width = 0;/**** 图片的高度:在这里提供的是正方形的图片,所以宽度和高度是一样的**/private int height = 0;/*** 定义一个画笔**/private Paint paint = new Paint();public RotationView(Context context, AttributeSet attrs) {super(context, attrs);}public RotationView(Context context, AttributeSet attrs, int defStyleAttr) {super(context, attrs, defStyleAttr);}public RotationView(Context context) {super(context);}/*** 获取图片的宽和高*/public void initSize() {width = bitMap.getWidth();height = bitMap.getHeight();postInvalidate();}public void setBitMap(Bitmap bitMap) {this.bitMap = bitMap;}//一图片的宽和高来设定自定义View的宽和高,由于是正方形宽和高是一样的  @Overrideprotected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {// TODO Auto-generated method stub  super.onMeasure(widthMeasureSpec, heightMeasureSpec);setMeasuredDimension(widthMeasureSpec, heightMeasureSpec);}CountDownTimer c = new CountDownTimer(5000, 10) {@Overridepublic void onTick(long millisUntilFinished) {postInvalidate();rad = rad + 7;}@Overridepublic void onFinish() {downY = 0;excursion = -100;postInvalidate();}};/**** 实现onDraw方法把风车图片绘制出来,同时绘制出来风车的旋转效果,通过Matrix来控制*/@Overrideprotected void onDraw(Canvas canvas) {Matrix matrix = new Matrix();// 设置转轴位置  matrix.setTranslate((float) width / 2, (float) height / 2);
//        rad -=15;//每次旋转的弧度增量为3当然,数字越大转动越快// 开始转  matrix.preRotate(rad);// 开始平移matrix.postTranslate(0, excursion);// 转轴还原  matrix.preTranslate(-(float) width / 2, -(float) height / 2);//绘制风车图片  canvas.drawBitmap(bitMap, matrix, paint);super.onDraw(canvas);}private int downY = 0;private int moveY = 0;private int abc = 0;@Overridepublic boolean onTouchEvent(MotionEvent event) {int action = event.getAction();switch (action) {case MotionEvent.ACTION_DOWN://随着手指的move而不断进行重绘,进而让风车转动起来  postInvalidate();//调用方法进行重绘  downY = (int) event.getY();c.cancel();break;case MotionEvent.ACTION_MOVE://随着手指的move而不断进行重绘,进而让风车转动起来  //调用方法进行重绘  int movey2 = moveY;rad = (int) -event.getY() * 6;//旋转的速度moveY = (int) (event.getY() - downY);//手指移动的距离int chz = moveY - movey2;if (chz > 10) {chz = chz / 10;} else if (chz < -10) {chz = chz / 10;}Log.e("TAG:" + excursion, "chz: " + chz + "//moveY:" + moveY + "//movey2:" + movey2);//100是向下滑动的最大距离if (excursion >= 100) {abc = abc + chz;if (chz < 0 && abc - chz < 0) {excursion = excursion + chz;}} else {//开始向下运动excursion += chz;}postInvalidate();c.cancel();break;case MotionEvent.ACTION_UP:c.start();break;}return true;}}  
//调用的方法RotationView rotation = (RotationView) view.findViewById(R.id.rotationView);BitmapDrawable drawable = (BitmapDrawable) getResources().getDrawable(R.drawable.fengche);rotation.setBitMap(drawable.getBitmap());rotation.initSize();

图片资源自己切的,本人不会ps,所以有点切的不太好,见谅

Android 仿微信刷新旋转小风车 自定义view相关推荐

  1. android旋转不重绘,Android自定义view仿微信刷新旋转小风车

    本文实例为大家分享了Android仿微信刷新旋转小风车 具体代码,供大家参考,具体内容如下 不太会录像,没办法,智能截图了 不多说了,直接上代码 package com.shipneg.demoysp ...

  2. Android 仿微信语音录音小控件

    Android 仿微信语音录音小控件 前段时间一直在做IM聊天这方面的撸码工作,涉及到了很多小控件,有时间我会慢慢给大家分享一下我的小成果,希望大家一起学习,一起进步,今天来和大家来说一下Androi ...

  3. android 点赞源码,android仿即刻点赞文字部分的自定义View的示例代码

    概述:在学习HenCoder的过程中,有一期是模仿优秀自定义View,有一个项目是仿即刻的点赞,后来原作者在点评中提到,需要将文字和图片分开来写,并且模仿者的动画实现由点杂乱.所以决定重现实现下文字部 ...

  4. Android 仿微信小程序开屏页加载loading

    Android 仿微信小程序开屏页加载loading 废话不多说,先上效果图~ 首先就是底层有一个灰色的圆,然后按照圆形的轨迹进行绘制. 啊~说那么多也没用,还是直接上代码吧,哈哈哈哈 绘制底部圆形及 ...

  5. Android自定义弹窗模仿微信,Android 仿微信朋友圈点赞和评论弹出框功能

    本文简单模仿微信朋友圈的点赞和评论弹出框,布局等细节请忽略,着重实现弹出框.发评论,及弹出位置的控制. 1. 微信弹出框 微信朋友圈的点赞和评论功能,有2个组成部分: 点击左下角的"更多&q ...

  6. android高仿微信小视频,Android仿微信录制小视频

    本文实例为大家分享了Android仿微信录制小视频的具体代码,供大家参考,具体内容如下 先上张图片看看效果 简单叙述下 首先通过Camera类调用系统相机 通过surfaceview绘制出来 通过Me ...

  7. Android 仿微信小视频录制

    Android 仿微信小视频录制 WechatShortVideo和WechatShortVideo文章

  8. Android自定义弹窗模仿微信,Android仿微信右上角点击加号弹出PopupWindow

    本文实例为大家分享了Android仿微信右上角点击加号弹出展示的具体代码,供大家参考,具体内容如下 一.要弹出的布局,随便设计 android:layout_width="match_par ...

  9. Android仿微信图片编辑处理:文字,马赛克,裁剪,涂鸦,旋转图片等

    Android仿微信图片编辑处理:文字,马赛克,裁剪,涂鸦,旋转图片等 如图: 这个项目实现了微信图片编辑处理的关键功能,如给一张图片添加文字,打上马赛克,裁剪图片,在图片上手势涂鸦.引用了karel ...

最新文章

  1. 手把手教你学Vue-3(路由)
  2. 如何通过三视图判断立方体个数_如何通过接触角判断疏水性?疏水性与亲水性的区别...
  3. BZOJ 3993 Luogu P3324 [SDOI2015]星际战争 (最大流、二分答案)
  4. 内网穿透和内网映射区别是什么?
  5. Flink的处理背压​原理及问题-面试必备
  6. 我的工作日报 - 2020-9-11 星期五
  7. TCP传输过程中丢包问题
  8. Cocos2dx源码记录(6) CCTrianglesCommand
  9. WCDMA为什么上行是干扰受限,下行是功率受限
  10. 【路径规划】基于matlab RRT算法求解机器人避障路径规划问题【含Matlab源码 319期】
  11. jenkins shell 权限_Jenkins+gitee+nuxt自动化部署
  12. Linux下PHP+MySQL+CoreSeek中文检索引擎配置
  13. LimeSDR 中文教程 (三)
  14. 攻防世界-misc高手进阶篇-2017_Dating_in_Singapore
  15. Python——程序设计:商贷月供计算器!谁还没点月供了!
  16. 加来道雄 基因编辑 纳米机器人_潜力巨大:纳米材料结合CRISPR基因编辑,成功改善阿尔茨海默病症状...
  17. DSB2017第一名代码复现
  18. qpython3可以画图吗_手机qpython3如何画图
  19. 在java中如何对数组实现添加、删除和插入操作呢?
  20. 藏不住了,乐视带着新品手机归来!

热门文章

  1. js控制html页面缓存,js页面缓存问题
  2. SkeyeARS全景AR增强监视技术机场智慧安防解决方案
  3. Vite创建的Vue3.0项目热更新失效,写的代码没效果
  4. 使用capture one for Mac如何创建目录模板?
  5. MplayerX – 强力媒体播放
  6. ppt备注的使用方法
  7. 超融合微软服务器许可授权,微软Windows Server 2016转向按核心授权许可
  8. python爬取大众点评_【Python3爬虫】大众点评爬虫(破解CSS反爬)
  9. TUV南德专家受邀在世界机器人大会发言
  10. Lumerical官方案例、FDTD时域有限差分法仿真学习(十八)——Y分支粒子群算法优化