lottie动画实战(仿汽车之家底部Tab切换动画)

GitHub地址:https://github.com/kongpf8848/Animation

效果如下:

主要是自定义View继承LottieAnimationView并实现Checkable接口,代码如下:

import android.content.Context;
import android.util.AttributeSet;
import android.widget.Checkable;

import com.airbnb.lottie.LottieAnimationView;

public class AnimationRadioView extends LottieAnimationView implements Checkable {

    private boolean checked;

    public AnimationRadioView(Context context) {
        this(context, null);
    }

    public AnimationRadioView(Context context, AttributeSet attrs) {
        this(context, attrs, 0);
    }

    public AnimationRadioView(Context context, AttributeSet attrs, int defStyleAttr) {
        super(context, attrs, defStyleAttr);
    }

    @Override
    public boolean isChecked() {
        return this.checked;
    }

    @Override
    public void setChecked(boolean checked) {

        try {
            if (this.checked != checked) {
                this.checked = checked;
                if (isAnimating()) {
                    cancelAnimation();
                }
                if (checked) {
                    if (getSpeed() < 0.0F) {
                        reverseAnimationSpeed();
                    }
                    playAnimation();
                } else {
                    if (getSpeed() > 0.0F) {
                        reverseAnimationSpeed();
                    }
                    playAnimation();
                }
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

    @Override
    public void toggle() {
        setChecked(!this.checked);
    }
}

原文地址:https://www.cnblogs.com/rainboy2010/p/12660412.html

时间: 2024-11-06 19:09:24

lottie动画实战(仿汽车之家底部Tab切换动画)的相关文章

Android典型界面设计——FragmentTabHost+Fragment实现底部tab切换

Android典型界面设计——FragmentTabHost+Fragment实现底部tab切换 Android学习笔记:TabHost 和 FragmentTabHost

使用Fragment+ViewPager,仿微信实现多页Tab切换

我们今天实现类似微信的首页的滑动Tab效果:          郭霖有一篇博客http://blog.csdn.net/guolin_blog/article/details/13171191,讲过如何实现,但是他的demo不能通过滑动切换,只能通过点击按钮切换. 通过viewpager,我们可以完全实现微信的效果. 先看看我的实现效果:      主页面代码 package com.example.fragmentdemo; import java.util.ArrayList; import

Android自定义控件之仿汽车之家下拉刷新

关于下拉刷新的实现原理我在上篇文章Android自定义控件之仿美团下拉刷新中已经详细介绍过了,这篇文章主要介绍表盘的动画实现原理 汽车之家的下拉刷新分为三个状态: 第一个状态为下拉刷新状态(pull to refresh),在这个状态下是一个表盘随着下拉的距离动态改变指针的角度 第二个状态为放开刷新状态(release to refresh),在这个状态下是指针角度变化的一个动画 第一个状态的实现: 这个效果我们使用自定义View来实现,我们从汽车之家apk中拿到下拉刷新所用到的两张图片: 我们

QtQuick多页面切换、多页面切换动画、多个qml文件数据交互

一.QtQuick多页面切换方法 (1)“隐藏法” 前一个视图visible设为false或者透明度opacity设为0,相当于“隐藏”了,实际还存在: 要显示的视图visible设为true或者透明度opacity设为1,显示出来: (2)“动态” var component = Qt.createComponent("Page1.qml").createObject(container,{width:100,heisght:100): 创建一个基于“Page1.qml”的组件,在组

汽车之家店铺数据抓取 DotnetSpider实战[一]

一.背景 春节也不能闲着,一直想学一下爬虫怎么玩,网上搜了一大堆,大多都是Python的,大家也比较活跃,文章也比较多,找了一圈,发现园子里面有个大神开发了一个DotNetSpider的开源库,很值得庆幸的,该库也支持.Net Core,于是乘着春节的空档研究一下整个开源项目,顺便实战一下.目前互联网汽车行业十分火热,淘车,人人车,易车,汽车之家,所以我选取了汽车之家,芒果汽车这个店铺,对数据进行抓取. 二.开发环境 VS2017+.Net Core2.x+DotNetSpider+Win10

汽车之家店铺商品详情数据抓取 DotnetSpider实战[二]

一.迟到的下期预告 自从上一篇文章发布到现在,大约差不多有3个月的样子,其实一直想把这个实战入门系列的教程写完,一个是为了支持DotnetSpider,二个是为了.Net 社区发展献出一份绵薄之力,这个开源项目作者一直都在更新,相对来说还是很不错的,上次教程的版本还是2.4.4,今天浏览了一下这个项目,最近一次更新是在3天前,已经更新到了2.5.0,而且项目star也已经超过1000了,还是挺受大家所喜爱的,也在这感谢作者们不断的努力. 之所以中间这么长一段时间没有好好写文章,是因为笔者为参加3

使用vue.js仿一个链家

Vue全家桶+localstorage+socket.io简单仿一个链家 在线预览地址首先上项目和预览地址 https://luxroid.com/lianjia/#/Github地址 https://github.com/mixihome/lianjia 注意 如果要在本地运行安装完依赖之后如果报错请手动使用淘宝镜像安装node-sass和sass-loader 确保可以运行建议使用F12移动端模式预览???? 使用到的技能点Vue.js : 前端页面展示Vuex : 全局状态通信axios

汽车之家一道SQL 面试题,大家闲来无事都来敲一敲

写在前面 上周去汽车之家面试,拿到这个SQL笔试题顿时感觉到有些陌生,因为好长时间不写SQL语句了,当时只写了表设计,示例数据和SQL语句都没写出来. 汽车之家应该用的SQL Server, 编程题一般都没有固定答案,大家可以按照自己的思路来试试,我在文章底部放出参考的链接. SQL笔试题 参考答案(我个人发在CSDN的帖子) http://bbs.csdn.net/topics/391091585

Android Animation动画实战(一): 从布局动画引入ListView滑动时,每一Item项的显示动画

前言: 之前,我已经写了两篇博文,给大家介绍了Android的基础动画是如何实现的,如果还不清楚的,可以点击查看:Android Animation动画详解(一): 补间动画 及 Android Animation动画详解(二): 组合动画特效 . 已经熟悉了基础动画的实现后,便可以试着去实现常见APP中出现过的那些精美的动画.今天我主要给大家引入一个APP的ListView的动画效果: 当展示ListView时,Listview的每一个列表项都按照规定的动画显示出来. 说起来比较抽象,先给大家