Lottie for Android primer

栏目: IT技术 · 发布时间: 6年前

内容简介:Visual design is quite important for an app. The quality of apps has been steadily increased over the years, and the aesthetic part is the area with the biggest improvement in my opinion.They say that a picture speaks a thousand words. So how many words wo

Visual design is quite important for an app. The quality of apps has been steadily increased over the years, and the aesthetic part is the area with the biggest improvement in my opinion.

They say that a picture speaks a thousand words. So how many words would a pretty animation speak?

Lottie is a multi-platform open-source library, initially made by Airbnb, for quickly and easily showing smooth animations, such as these:

Lottie for Android primer

These animations are made in Adobe After Effects and they are vector-based (i.e. they can scale without pixelating). But you don't need to worry about this and you don't need to make them because there are plenty of such short and cute animations all over the internet (e.g. LordIcons , LottieFiles ).

The actual animation is a JSON file that describes the path, color, etc. After acquiring that file, you would need to place it in the Assets directory of your Android project. This is a different directory from your Resources directory where drawables are placed. You would probably need to create it, by right-clicking in the Project Explorer in Android Studio, New -> Folder -> Assets Folder . Place your JSON file in the /app/assets/ folder that has been created.

Then head to the project's GitHub page to find the latest version, and include it in your build.gradle (app) :

dependencies {
  implementation 'com.airbnb.android:lottie:3.4.0'
}

After syncing with Gradle, you would be able to use the Lottie view in your layouts. Place it just like you would place a regular ImageView . Since this view displays vector-based graphics you would need to explicitly set the width and height.

<com.airbnb.lottie.LottieAnimationView
            android:id="@+id/animationView"
            android:layout_width="120dp"
            android:layout_height="120dp"
            app:lottie_autoPlay="true"
            app:lottie_fileName="animation.json" />

You can customize the view both using XML or programmatically (e.g. auto-play,  repeat-count, etc).

The most common things I find myself wanting to change in an animation are the colors. You could use the excellent LottieFiles online editor to inspect the layers and change their colors.

Sometimes, even with the editor, you won't be able to change the desired color. In these cases, you would need to manually apply a filter on runtime:

val filter =
          SimpleColorFilter
            (ContextCompat.getColor(context!!,R.color.mainColorLight))
        val keyPath = KeyPath("**")
        val callback = LottieValueCallback<ColorFilter>(filter)
        animationView.addValueCallback(keyPath,
          LottieProperty.COLOR_FILTER, callback)

You can choose which path to apply the filter on, or you could apply it to all paths in case you just want the animation to have a single color.

Hopefully, after this super-quick crash course, you are convinced that adding a short and fancy animation in your Android app is not that hard :)


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

马云现象的经济学分析:互联网经济的八个关键命题

马云现象的经济学分析:互联网经济的八个关键命题

胡晓鹏 / 上海社会科学院出版社 / 2016-11-1 / CNY 68.00

互联网经济的产生、发展与扩张,在冲击传统经济理论观点的同时,也彰显了自身理论体系的独特内核,并与那种立足于工业经济时代的经典理论发生显著分野。今天看来,“马云”们的成功是中国经济长期“重制造、轻服务,重产能、轻消费,重国有、轻民营”发展逻辑的结果。但互联网经济的发展却不应仅仅止步于商业技巧的翻新,还需要在理论上进行一番审慎的思考。对此,我们不禁要问:互联网经济驱动交易发生的机理是什么?用户基数和诚......一起来看看 《马云现象的经济学分析:互联网经济的八个关键命题》 这本书的介绍吧!

Base64 编码/解码
Base64 编码/解码

Base64 编码/解码

XML 在线格式化
XML 在线格式化

在线 XML 格式化压缩工具

UNIX 时间戳转换
UNIX 时间戳转换

UNIX 时间戳转换