java - android动画在自身上旋转图像
问题描述
我想制作一个动画,以便在自身上旋转图像(通过 x 轴)。
我之前没有找到类似的东西,我已经尝试了一些技巧,比如:
public static void coinAnimation(final View v){
RotateAnimation anim = new RotateAnimation(0.0f, 360.0f, Animation.RELATIVE_TO_SELF, 0.5f, Animation.RELATIVE_TO_SELF, 0.5f);
anim.setInterpolator(new LinearInterpolator());
anim.setRepeatCount(Animation.INFINITE);
anim.setDuration(700);
v.startAnimation(anim);
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
v.setAnimation(null);
}
}, 2000);
}
解决方案
这是答案,尽管它仅适用于 3.0 及更高版本。
1) 创建一个名为“animator”的新资源文件夹。
2) 创建一个新的 .xml 文件,我将其称为“翻转”。使用以下 XML 代码:
<?xml version="1.0" encoding="utf-8"?>
<objectAnimator xmlns:android="http://schemas.android.com/apk/res/android"
android:valueFrom="0" android:valueTo="360" android:propertyName="rotationY" >
</objectAnimator>
不,objectAnimator 标签不以大写“O”开头。
3) 使用以下代码启动动画:
ObjectAnimator anim = (ObjectAnimator) AnimatorInflater.loadAnimator(mContext, R.animator.flipping);
anim.setTarget(A View Object reference goes here i.e. ImageView);
anim.setDuration(3000);
anim.start();
推荐阅读
- html - 合并两个base64 url并生成一个PDF
- batch-file - 使用批处理文件替换文本文件中的字符串
- python - 如何在 Python 中提取 html 表的单个值?
- mongodb - 如何根据MongoDB聚合中的另一个数组对数组进行分组?
- python - 在上传到谷歌云存储 django 之前调整图像大小
- c# - 如何生成超过 1048576 行的 Excel 工作表
- c# - 如何对 Core MVC 控制器操作是否调用 ControllerBase.Problem() 进行单元测试
- android - SOFT_INPUT_MODE_CHANGED 是做什么的?
- sql - .get() 在 Django 的底层是如何工作的?
- ios - 为什么我在 iOS 上执行屏幕锁定测试时我的应用程序会关闭?