MaterialDesign-Material Design动画效果(四)
来源:互联网 发布:淘宝网睡衣套装 编辑:程序博客网 时间:2024/05/16 17:22
Ripple波纹点击效果
控件中设置波纹点击效果
android:background="?android:selectableItemBackgroundBorderless"//无边界android:background="?android:selectableItemBackground"//以控件大小为边界 <Button android:background="?android:selectableItemBackgroundBorderless" android:layout_width="300dp" android:layout_height="300dp"/>
也可以自定义波纹点击效果
在drawable创建一个xml文件<?xml version="1.0" encoding="utf-8"?><ripple xmlns:android="http://schemas.android.com/apk/res/android"android:color="#F00" //波纹颜色> <item > <shape android:shape="oval"> <solid android:color="?android:colorAccent"/>//默认的颜色 </shape> </item></ripple>//在控件中引用<Button android:background="@drawable/ripple" android:layout_width="300dp" android:layout_height="300dp"/>
Circular Reveal
效果:将一个view以圆的形式展开,显示出来
核心api
class ViewAnimatorUtils://xy 圆点的坐标轴 view 被操纵的view public static Animator createCircularReveal(View view ,int centerX,int centerY,float startRadius,float endRadius){ new RevealAnimator(view,centerX,centerY,startRadius,endRadius);}
demo
iv_oval = (ImageView) findViewById(R.id.iv_oval); iv_oval.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { //创建一个以图片中心,以圆的形式慢慢展开的动画效果 Animator animator = ViewAnimationUtils.createCircularReveal(iv_oval , iv_oval.getWidth() / 2, iv_oval.getHeight() / 2, 0,iv_oval.getWidth()); animator.setInterpolator(new AccelerateDecelerateInterpolator()); animator.setDuration(1000); animator.start(); } }); iv_rect = (ImageView) findViewById(R.id.iv_rect); iv_rect.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { //创建一个以图片左上角wield中心的圆,以圆的形式慢慢展开的效果 Animator animator = ViewAnimationUtils.createCircularReveal(iv_rect , 0, 0, 0,(float)Math.hypot(iv_rect.getWidth(),iv_rect.getHeight())); animator.setInterpolator(new AccelerateDecelerateInterpolator()); animator.setDuration(1000); animator.start(); } });
View state change Animation
系统提供的 视图状态改变动画 来设置一个视图的状态切换动画
StateListAnimator点击动画效果
一般来说来设置点击效果时,会使用selector来设置点击效果
Android5.0后,可以设置动画来作为selector视图改变的效果
1.drawable中创建XX.xml文件<?xml version="1.0" encoding="utf-8"?><selector xmlns:android="http://schemas.android.com/apk/res/android"><item android:state_pressed="true"> <set> <objectAnimator android:duration="@android:integer/config_shortAnimTime" android:propertyName="rotation" android:valueTo="360" android:valueType="floatType" /> </set></item><item android:state_pressed="false"> <set> <objectAnimator android:duration="@android:integer/config_shortAnimTime" android:propertyName="rotation" android:valueTo="0" android:valueType="floatType" /> </set></item></selector>2.在控件中设置android:stateListAnimator属性 <Button android:stateListAnimator="@drawable/state_list_animator" android:layout_width="300dp" android:layout_height="300dp"/>
animated-selector
需求:点击按钮(或floating action)实现酷炫的自定义的帧动画
1.首先需要准备一堆图片作为动画的每一帧2.在drawable中创建过渡动画<?xml version="1.0" encoding="utf-8"?><animated-selector xmlns:android="http://schemas.android.com/apk/res/android"><item android:id="@+id/state_on" android:state_checked="true"> <bitmap android:src="@drawable/time4"/></item><item android:id="@+id/state_off" //必须有一个默认状态,且必须在最后 > <bitmap android:src="@drawable/time4"/></item><transition android:fromId="@+id/state_on" android:toId="@+id/state_off"> <animation-list> <item android:duration="250"> <bitmap android:src="@drawable/time4"/> </item> <item android:duration="250"> <bitmap android:src="@drawable/time3"/> </item> <item android:duration="250"> <bitmap android:src="@drawable/time2"/> </item> <item android:duration="250"> <bitmap android:src="@drawable/time1"/> </item> </animation-list></transition><transition android:fromId="@+id/state_off" android:toId="@+id/state_on"> <animation-list> <item android:duration="250"> <bitmap android:src="@drawable/time1"/> </item> <item android:duration="250"> <bitmap android:src="@drawable/time2"/> </item> <item android:duration="250"> <bitmap android:src="@drawable/time3"/> </item> <item android:duration="250"> <bitmap android:src="@drawable/time4"/> </item> </animation-list></transition></animated-selector>
阅读全文
0 0
- MaterialDesign-Material Design动画效果(四)
- Android5.X (四) : Material Design-动画效果
- Material Design之动画效果
- Material Design动画:涟漪效果
- Material Design动画效果思路
- Material Design系列之动画效果
- Android 5.X 新特性详解(四)——Material Design 动画效果
- Android 5.X 新特性详解(四)Material Design动画效果
- Android Material Design动画 Reveal Effect | 揭示效果
- Android Material Design动画
- Material Design-过渡动画
- Material Design详解-动画
- Material Design动画
- Material Design-动画
- Material Design效果实现
- Material Design(四)
- Material Design(四)
- android动画--Material Design动画
- 欢迎使用CSDN-markdown编辑器
- Android网络框架之Retrofit + RxJava + OkHttp
- 【Emacs】之 快捷键初识
- iptables防火墙规则的添加、删除、修改、保存
- Oil Deposits
- MaterialDesign-Material Design动画效果(四)
- Unity -- 导航寻路系统
- Java开发一定要知道的日志性能那些事
- 二叉树问题
- arduino引脚图
- Matlab 简单计算PDF和CDF
- 阿里云ubuntu nginx无法访问
- ROS-indigo_stage-simulator
- nginx upload在java中的应用