ViewAnimator动画

news/2024/12/5 4:37:30/

最近研究动画时,发现一个比较好用的一个设置动画的ViewAnimator,感觉挺是实用的,记录下:

build.gradle中加入:

compile 'com.github.florent37:viewanimator:1.0.5'

简单的一些用法:

1.一个方法多个视图动画:

ViewAnimator.animate(image)//第一个动画.translationY(-1000, 0)//Y轴方向移动.alpha(0,1)//透明图.andAnimate(text)//加入第2个视图的动画.dp().translationX(-20, 0)//X轴方向移动-20dp,然后回到原来的位置.decelerate()//减速.duration(2000)//动画持续时间.thenAnimate(image).scale(1f, 0.5f, 1f)//从1缩小至0.5再放大至1.accelerate()//加速.duration(1000).start();

效果图:


如果不用ViewAnimator,使用最原始的动画属性设置,代码带长:

AnimatorSet animatorSet = new AnimatorSet();
animatorSet.playTogether(ObjectAnimator.ofFloat(image,"translationY",-1000,0),ObjectAnimator.ofFloat(image,"alpha",0,1),ObjectAnimator.ofFloat(text,"translationX",-200,0)
);
animatorSet.setInterpolator(new DescelerateInterpolator());
animatorSet.setDuration(2000);
animatorSet.addListener(new AnimatorListenerAdapter(){@Override public void onAnimationEnd(Animator animation) {AnimatorSet animatorSet2 = new AnimatorSet();animatorSet2.playTogether(ObjectAnimator.ofFloat(image,"scaleX", 1f, 0.5f, 1f),ObjectAnimator.ofFloat(image,"scaleY", 1f, 0.5f, 1f));animatorSet2.setInterpolator(new AccelerateInterpolator());animatorSet2.setDuration(1000);animatorSet2.start();}
});
animatorSet.start();

2.多个视图添加相同的动画:

ViewAnimator.animate(image,text).scale(0,1).start();

3.添加监听:

ViewAnimator.animate(image).scale(0,1).onStart(() -> {})//动画开始监听.onStop(() -> {})//动画结束监听
     .start();

4.设置宽高:

ViewAnimator.animate(view).waitForHeight() //wait until a ViewTreeObserver notification.dp().width(100,200).dp().height(50,100).start();

5.设置颜色:

ViewAnimator.animate(view).textColor(Color.BLACK,Color.GREEN).backgroundColor(Color.WHITE,Color.BLACK).start();

6.设置旋转动画:

ViewAnimator.animate(view).rotation(360).start();

7.自定义动画:

ViewAnimator.animate(text).custom(new AnimationListener.Update<TextView>() {@Override public void update(TextView view, float value) {view.setText(String.format("%.02f",value));}}, 0, 1).start();

8.动画取消:

ViewAnimator viewAnimator = ViewAnimator.animate(view).rotation(360).start();viewAnimator.cancel();

9.还有很多的动画属性,如下效果图:


详细可见,github地址:https://github.com/florent37/ViewAnimator


http://www.ppmy.cn/news/265335.html

相关文章

android漫画app代码,漫画书Android客户端 – ComicApp

漫画书 1.平台&#xff1a;Android客户端(后期完善IOS端) 2.开发框架&#xff1a;React Native react-redux react-thunk 3.开发工具&#xff1a;Vs Code 1.8 1.项目架构 app actions 用户行为 reducer 对用户行为进行分发&#xff0c;更新状态 store 整合全部reducer containe…

ViewAnimator教程

本文翻译自ViewAnimator Tutorial With Example In Android Studio 在Android中&#xff0c;ViewAnimator是FrameLayout的一个子类&#xff0c;用来做Views之间的切换。它是一个变换控件的 元素&#xff0c;帮助我们在Views之间&#xff08;如TextView, ImageView或者其他layo…

从Manga Reader爬取我喜欢的漫画

自去年十月份实习后&#xff0c;就没碰过博客了。今天偶然间翻到了一年前为了看一个韩国漫画而写的一个爬虫脚本。也许过一段时间&#xff0c;这个脚本就彻底消失了。为了不让它消失&#xff0c;就存到我的博客上吧。 下面直接上代码&#xff0c;技术用的不是很多&#xff0c;主…

Tachiyomi 使用指南:一款开源的聚合漫画阅读软件

文章首发于个人公号&#xff1a;「阿拉平平」 前段时间&#xff0c;听闻三浦建太郎离世的消息&#xff0c;倍感惋惜。三浦先生的代表作&#xff1a;『剑风传奇』&#xff08;又名&#xff1a;烙印战士&#xff09;用黑暗写实的画风&#xff0c;讲述了剑士格斯不断与命运抗争的故…

picview是哪里的图片_PicViewer(图片浏览器)

PicViewer是一款简单易用的图像浏览助手&#xff0c;软件支持大部分格式的图片文件&#xff0c;可以根据分类进行图片浏览&#xff0c;能够满足不同用户的多种需求&#xff0c;有需要的朋友可以下载使用。。 相关软件软件大小版本说明下载地址 PicViewer是一款简单易用的图像浏…

日本漫画家官方网站

CLAMP      http://www.clamp-net.com/ JUDAL        http://www12.u-page.so-net.ne.jp/rk9/judal/ 安倍吉俊       http://www.people.or.jp/~ab/index.html 坂田晴子       http://www2u.biglobe.ne.jp/~ysakata/ 北神谅       http://swat…

CartoonShader

一、卡通渲染风格知识 1.日式卡通风格&#xff0c;有明显的明暗分界 2.通过Shader&#xff0c;配合光照贴图&#xff08;LimTex&#xff09;&#xff0c;实现具有实时动态阴影日式卡通风格。 3.日式卡通材质比较重要的主要纹理 主纹理MainTex 也就是diffuse纹理&#xff0c;…