手把手教你如何在安卓中使图片进行旋转
下面介绍一些关于在Android中,使图片进行旋转的一些方法,当然这里主要介绍旋转的,如果有其他的动画效果,可以类似的进行修改::
方法一:
1、首先在res文件夹下创建一个名字为anim的文件夹,名字不要写错
2、在anim里面创建一个xlm文件:img_animation.xml,这个名字随便写都可以,注意不要大写,里面的代码如下:
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"><rotateandroid:duration="5000"android:fromDegrees="0"android:pivotX="50%"android:pivotY="50%"android:repeatCount="-1"android:repeatMode="restart"android:toDegrees="360" /><!-- 参数的含义duration:时间</span>fromDegrees="0": 从几度开始转</span>toDegrees="360" : 旋转多少度</span>pivotX="50%:旋转中心距离view的左顶点为50%距离,pivotY="50%: 距离view的上边缘为50%距离repeatCount="-1":重复次数,-1为一直重复repeatMode="restart":重复模式,restart从头开始重复--></set>
然后,再去你需要让哪个图片进行旋转就添加下面的方法:
backgroundLight = (ImageView) findViewById(R.id.medallight);Animation animation = AnimationUtils.loadAnimation(this, R.anim.imagerota); LinearInterpolator lin = new LinearInterpolator();//设置动画匀速运动animation.setInterpolator(lin);backgroundLight.startAnimation(animation);
通过这样的方法,你就实现了图片旋转的效果了。
方法二:
用线程的方法去进行旋转。
package com.readboy.game.susuanlianximobile.others;import android.content.Context;
import android.os.SystemClock;
import android.util.AttributeSet;
import android.widget.ImageView;public class RotateView extends ImageView implements Runnable {private float mCurDegree = 0;//当前旋转角度public RotateView(Context context, AttributeSet attrs) {super(context, attrs);new Thread(this).start();}@Overrideprotected void onLayout(boolean changed, int left, int top, int right,int bottom) {super.onLayout(changed, left, top, right, bottom);//设定旋转中心setPivotX(getMeasuredWidth()/2);setPivotY(getMeasuredHeight()/2);}@Overridepublic void run() {while(true){setRotation(mCurDegree);mCurDegree += 5;postInvalidate();SystemClock.sleep(200);}}
}
通过这样的方法,主要是由于重写了ImageView,所以在你要让某个图片进行旋转的时候,千万要记得在布局中,将那图片的ImageView改为这个类的名字。。。。切记!!!!!!!!!!!!!!!!
比如:
改变前:
<ImageViewandroid:id="@+id/medallight"android:layout_width="wrap_content"android:layout_height="wrap_content"android:src="@drawable/medallight"android:layout_centerInParent="true"
改变后为:
<com.readboy.game.susuanlianximobile.others.RotateViewandroid:id="@+id/medallight"android:layout_width="wrap_content"android:layout_height="wrap_content"android:src="@drawable/medallight"android:layout_centerInParent="true"/>
前面的是包名,后面的是类名就可以了。
方法三::
直接用安卓里面的RotateAnimation类,进行也可以。(这种比较简单)
iv = (ImageView)findViewById(R.id.image);RotateAnimation animation = new RotateAnimation(0, 360);animation.setDuration(100000);//设定转一圈的时间animation.setRepeatCount(Animation.INFINITE);//设定无限循环animation.setRepeatMode(Animation.RESTART);iv.startAnimation(animation);
在安卓中,Animation这个类有很多用处的,可以去看看API进行更多的效果。。
上面就是几种比较好的方法了,谢谢网上的资源进行整合了!!!!欢迎交流!!!!!!!!!!
<rotateandroid:duration="5000"android:fromDegrees="0"android:pivotX="50%"android:pivotY="50%"android:repeatCount="-1"android:repeatMode="restart"android:toDegrees="360" /><!-- 参数的含义duration:时间</span>fromDegrees="0": 从几度开始转</span>toDegrees="360" : 旋转多少度</span>pivotX="50%:旋转中心距离view的左顶点为50%距离,pivotY="50%: 距离view的上边缘为50%距离repeatCount="-1":重复次数,-1为一直重复repeatMode="restart":重复模式,restart从头开始重复--></set
手把手教你如何在安卓中使图片进行旋转相关推荐
- 微信小程序手把手教你实现类似Android中ViewPager控件效果
微信小程序手把手教你实现类似Android中ViewPager控件效果 前言 需求分析 头部TAB 滑动的内容部分 最终版本 尾巴 前言 在做Android开发的时候,ViewPager是开发者使用频 ...
- android手机号码恢复,手把手教你如何恢复安卓手机通讯录里面丢失的数据
原标题:手把手教你如何恢复安卓手机通讯录里面丢失的数据 虽然现在的智能手机有非常多的功能,但是通话仍然是手机里面最为重要也最为常用的功能,通讯录也是十分重要的,他存放着我们手机内所有联系人的手机号.那 ...
- 手把手教你实现小程序中的自定义组件
之前做小程序开发的时候,对于开发来说比较头疼的莫过于自定义组件了,当时官方对这方面的文档也只是寥寥几句,一笔带过而已,所以写起来真的是非常非常痛苦!! 好在微信小程序的库从 1.6.3 开始,官方对于 ...
- ☀️手把手教你HALCON在VS2017中搭建C++环境☀️《❤️记得收藏❤️》
☀️手把手教你HALCON在VS2017中搭建C++环境☀️<❤️记得收藏❤️>
- python爬虫如何连接数据库_手把手教你如何在Navicat中如何新建连接数据库及相关报错解决方法...
前几天给大家分享了如何安装Navicat,没有来得及上车的小伙伴可以戳这篇文章:手把手教你安装Navicat--靠谱的Navicat安装教程.今天给大家分享一下Navicat的简单使用教程,具体的教程 ...
- 手把手教你如何在Unity中使用UnityGoogle.Protobuf3(三) 序列化与反序列化
手把手教你使用Google.Protobuf3三 序列化与反序列化 1.Untiy工程创建 2.导入Google.Protobuf.dll 3.导入proto协议文件 4.编写序列化与反序列化工具类 ...
- Blender图解教程:手把手教你做一个马里奥金币 之 图片转法线贴图法(附模型下载)
<Blender图解教程:手把手教你做一个马里奥金币 之 比较传统的方法>介绍了一种用Blender制作法线贴图的流程,本文介绍一种更加省事的方法. 步骤 效果图 概要 步骤 1. 建模 ...
- 在GitHub的README中使图片深浅主题自适应
声明:本文CSDN作者原创投稿文章,未经许可禁止任何形式的转载,原文链接 在GitHub的Markdown文件中,我们可以针对同一图片使用两份深浅主题的链接,以保证在适应GitHub页面的主题风格. ...
- 手把手教你做一个安卓点餐系统
最近有小伙伴要学习安卓,今天给大家展示一个安卓系统的开发,希望能帮到你学习! 传统的点餐方式有: 1) 手工点餐模式.在这种模式下,流程简单,店员很快知道要点什么,但随着点餐人数多,就会让店家分不清谁 ...
最新文章
- git找回误删的文件
- python php linux-linux怎么运行python?
- 《Effective Java 2nd》第4章 类和接口
- js函数中的参数的个数
- java uml聚合代码_UML类图(下):关联、聚合、组合、依赖
- php 转义取消,php如何取消转义
- 有哪些是你成为一名开发之后才知道的事情
- python-循环控制-break
- OCR常见问题(4)
- 超详细CookieSession的原理与用法
- PMBOK(第六版) PMP笔记——第十章(项目沟通管理)
- 修复 github 项目的语言属性
- sqlserver差异备份3117
- go语言学习之helloword
- 如何监控 Tomcat?Zabbix 与 Cloud Insight 对比
- java.lang.InternalError: internal error: SHA-1 not available.
- 数字化转型的四大工具模板
- Java中Date时区的转换
- 感受亮度与光强,及马赫带效应
- Android RecyclerView优雅实现复杂列表布局(二)