安卓开源库之动画篇

本文主要介绍收集了笔者所用过的开源动画库,达到一些比较好看的效果。

一个富有动感的 Sheet

链接:

zzz40500/AndroidSweetSheet: 一个富有动感的Sheet(选择器)

效果如下

这里写图片描述

示例代码

package com.zj.testsheet;import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.widget.RelativeLayout;
import android.widget.Toast;import com.mingle.entity.MenuEntity;
import com.mingle.sweetpick.BlurEffect;
import com.mingle.sweetpick.RecyclerViewDelegate;
import com.mingle.sweetpick.SweetSheet;import java.util.ArrayList;public class MainActivity extends AppCompatActivity {SweetSheet mSweetSheet;RelativeLayout rl;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);rl= (RelativeLayout) findViewById(R.id.rl);// SweetSheet 控件,根据 rl 确认位置mSweetSheet = new SweetSheet(rl);final ArrayList<MenuEntity> list = new ArrayList<>();//添加假数据MenuEntity menuEntity1 = new MenuEntity();menuEntity1.iconId = R.drawable.ic_account_child;//menuEntity1.titleColor = 0xff000000;menuEntity1.title = "code";MenuEntity menuEntity = new MenuEntity();menuEntity.iconId = R.drawable.ic_account_child;//menuEntity.titleColor = 0xffb3b3b3;menuEntity.title = "QQ";list.add(menuEntity1);list.add(menuEntity);list.add(menuEntity);list.add(menuEntity);list.add(menuEntity);list.add(menuEntity);list.add(menuEntity);list.add(menuEntity);list.add(menuEntity);list.add(menuEntity);list.add(menuEntity);list.add(menuEntity);list.add(menuEntity);//设置数据源 (数据源支持设置 list 数组,也支持从menu 资源中获取)mSweetSheet.setMenuList(list);SweetSheet mSweetSheet2 = new SweetSheet(rl);//从menu 中设置数据源mSweetSheet2.setMenuList(R.menu.menu_sweet);
//根据设置不同的 Delegate 来显示不同的风格.mSweetSheet.setDelegate(new RecyclerViewDelegate(true));
//根据设置不同Effect来设置背景效果:BlurEffect 模糊效果.DimEffect 变暗效果,NoneEffect 没有效果.mSweetSheet.setBackgroundEffect(new BlurEffect(8));
//设置菜单点击事件mSweetSheet.setOnMenuItemClickListener(new SweetSheet.OnMenuItemClickListener() {@Overridepublic boolean onItemClick(int position, MenuEntity menuEntity1) {//根据返回值, true 会关闭 SweetSheet ,false 则不会.Toast.makeText(MainActivity.this, menuEntity1.title + "  " + position, Toast.LENGTH_SHORT).show();return true;}});mSweetSheet.show();}
}

A fluent Android animation library。安卓动画库

主要包括一些进度条效果

链接:

gzu-liyujiang/ViewAnimator: A fluent Android animation library。安卓动画库,加入了一些不错的动画,如:fall、shake、flash、fadeIn、rollOut……支持任意路径动画(示例动画为不断冒出来的桃心及飘雪),支持按SVG格式的path运动。部分已合并到原作者florent37的主分支

效果如下

这里写图片描述

示例代码

private void animateParallel() {ViewAnimator.animate(mountain, image).dp().translationY(-1000, 0).alpha(0, 1).andAnimate(percent).scale(0, 1).andAnimate(text).dp().translationY(1000, 0).textColor(Color.BLACK, Color.WHITE).backgroundColor(Color.WHITE, Color.BLACK).waitForHeight().interpolator(new AccelerateDecelerateInterpolator()).duration(1000).thenAnimate(percent).custom(new AnimationListener.Update<TextView>() {@Overridepublic void update(TextView view, float value) {value = value * 100;view.setText(String.format(Locale.US, "%.0f%%", value));}}, 0, 1).andAnimate(image).rotation(0, 360).onStop(new AnimationListener.Stop() {@Overridepublic void onStop() {Intent intent = new Intent(StartActivity.this, MainActivity.class);startActivity(intent);}}).duration(1000).start();
}

recycleView动画效果

链接:

gabrielemariotti/RecyclerViewItemAnimators: An Android library which provides simple Item animations to RecyclerView items

效果如下:

这里写图片描述

示例代码


recyclerView= (RecyclerView) findViewById(R.id.id_recyclerview);
recyclerView.setLayoutManager(new GridLayoutManager(this, 4));
mAdapter=new HomeAdapter();
slideInBottomAnimatorAdapter=new SlideInBottomAnimatorAdapter(mAdapter,recyclerView);
recyclerView.setAdapter(slideInBottomAnimatorAdapter);

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/494293.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

《Python 黑科技》代理ip奇技淫巧

点赞 ➕ 评论 ➕ 收藏 三连再看你最帅 目录 &#x1f41b; 1、什么是住宅动态ip&#xff1f; &#x1f98b; 1.1 动态ip优点是什么&#xff1f; &#x1f40c; 1.2 环境准备 &#x1f41e; 1.3 获取代理ip &#x1f41c; 2、使用代理IP &#x1f424; 2.1 浏览器使用代理…

【转】android Notification 的使用

http://www.cnblogs.com/newcj/archive/2011/03/14/1983782.html Intent.FLAG_ACTIVITY_CLEAR_TOP &#xff1a;如果在当前Task中&#xff0c;有要启动的Activity&#xff0c;那么把该Acitivity之前的所有Activity都关掉&#xff0c;并把此Activity置前以避免创建Activity的实例…

MIT发布2018年全球10大突破性技术!

来源&#xff1a; 数字化企业作为全球最为著名的技术榜单之一&#xff0c;《麻省理工科技评论》全球十大突破性技术具备极大的全球影响力和权威性&#xff0c;至今已经举办了18年。每年上榜的技术突破&#xff0c;有的已经在现实中得以应用&#xff0c;有的还尚需时日&#xff…

Android实现监测网络状态

本文主要用到了安卓监测网络状态变化功能&#xff0c;实现了WIFI,3G,无网络状态切换时发出通知的功能。 主要知识点 servicebroadcast接口回调实现 service的基本知识 service可分为 按运行地点分类 本地服务 远程服务 按按运行类型分类&#xff1a; 前台服务后台服务按…

《Python 黑科技》10万粉丝头像千图成像(撩对象)

点赞 ➕ 评论 ➕ 收藏 = 三连再看你最帅 目录 🍏 1、效果预览 🍎 2、代码实现 🍑 2.1 获取粉丝列表

jni 步骤

这是我转的文章&#xff0c;是篇外文翻译&#xff0c;将介绍如何学习安装 Android NDK 并开始使用它。在这一教程结束后&#xff0c;将创建你自己的项目&#xff0c;从 Java 代码简单地调用原生C 语言代码。教程细节技术&#xff1a;Android SDK、NDK、C 语言难度&#xff1a;进…

德勤:2025年汽车行业价值链的四个合理情境

来源&#xff1a;亿欧摘要&#xff1a;近日&#xff0c;德勤发布《未来汽车行业价值链&#xff1a;2025年以后》&#xff0c;假设在大部分整车企业都有变革意愿的情境下&#xff0c;识别出四个2025年整车企业价值链可能具有的合理设定。随着自动驾驶、共享经济等新技术以及新商…

你真的会用 regexp_replace 吗?

一、替换单个 方法1&#xff1a;select regexp_replace(asdgggg,([asd]),"aaa") 方法2&#xff1a;select regexp_replace(asdgggg,asd,"aaa") 二、替换多个 目标&#xff1a;一次性替换掉 [,],",三个特殊字符 方法1&#xff1a;SELECT regexp_repl…

盘点英特尔、苹果、高通、AMD 处理器重大 Bug,硬件的坑软件能填?

来源&#xff1a;21ic电子网英特尔的CPU存在两大漏洞 ——Meltdown 和 Spectre&#xff0c;波及自 1995 年以来所有使用英特尔芯片的硬件设备。不止 Linux、Android、Windows、苹果 OS X 等操作系统&#xff0c;AWS、Azure、谷歌云等云计算提供商均受到影响&#xff0c;其威胁范…

java读写html文件时出现中文乱码问题的解决方法

最近在做HTML静态生成&#xff0c;需要从硬盘上把模版文件的内容读出来。然后&#xff0c;替换相关标签写到指定的文件中。无论是读写&#xff0c;都遇到了中文乱码问题。试过多种方法&#xff0c;发现下面一种可以避免中文乱码。&#xff08;无论读取还是写入一定要进行编码转…

Android实现网络音乐播放器

本文是一个简单的音乐播放器 布局代码 <?xml version"1.0" encoding"utf-8"?> <RelativeLayout xmlns:android"http://schemas.android.com/apk/res/android"xmlns:tools"http://schemas.android.com/tools"android:layo…

《Python 黑科技》程序员必须会的代理ip小技巧

点赞 ➕ 评论 ➕ 收藏 = 三连再看你最帅 目录 一、🚖 why 代理 ip 第一,独享 IP 提高网络速度

每天一个linux命令(54):ping命令

Linux系统的ping命令是常用的网络命令&#xff0c;它通常用来测试与目标主机的连通性&#xff0c;我们经常会说“ping一下某机器&#xff0c;看是不是开着”、不能打开网页时会说“你先ping网关地址192.168.1.1试试”。它通过发送ICMP ECHO_REQUEST数据包到网络主机&#xff08…

【干货51页PPT】深度学习理论理解探索

来源&#xff1a;专知普林斯顿大学计算机科学系教授Sanjeev Arora做了深度学习理论理解探索的报告&#xff0c;包括三个部分&#xff1a;Why overparametrization and or overprovisioning?Optimization in deep learningTheory for Generative Models and Generative Adversa…

新星计划·第三季【博文流量密码公开课】

一、优质的内容 刚开始写博客的小伙伴&#xff0c;其不可漫无目的的写&#xff0c;到头来对自己的技术沉淀毫无帮助&#xff0c;升职加薪跳槽也不加分&#xff0c;更无法通过付费专栏等方式进行变现&#xff0c;到头来一无所获&#xff01; 强烈建议大家提前规划写什么方向的…

百度地图开发之定位

本文主要讲述利用百度地图API实现定位功能 第一步:下载SDK与申请KEY 参考链接&#xff1a;Android 百度地图 SDK v3.0.0 &#xff08;一&#xff09; - Hongyang - 博客频道 - CSDN.NET 注意 百度地图SDK与百度定位SDK已经分开了&#xff0c;如果在工程中同时导入这两个包…

Java与Http协议

Java与Http协议 引言 http&#xff08;超文本传输协议&#xff09;是一个基于请求与响应模式的、无状态的、应用层的协议&#xff0c;常基于TCP的连接方式。HTTP协议的主要特点是&#xff1a; 1.支持客户/服务器模式。 2.简…

《Python 黑科技》一键分析评论关键词,制作精美词云

本文重点&#xff1a; 学会抓取文章评论 学会文本分词、制作词云 目录 &#x1f351; 一、抓取全部评论 &#x1f35e; 1、找到评论接口 &#x1f34f; 2、Python 获取评论 &#x1f3c8; 二、文本分词、词云制作 &#x1f34b; 1、文本分析 &#x1f350; 2、生成词云…

PANS最新脑神经科学研究:激活一种新语言并不费力气

来源&#xff1a;中国生物技术网美国纽约大学的一项新研究发现&#xff0c;我们在不同语言之间切换时的大脑工作模式&#xff0c;这使我们对双语现象有了新的理解。纽约大学博士生Esti Blanco-Elorrieta是这项研究的第一作者&#xff0c;他解释说&#xff1a;“多语言能力者的一…

百度地图之添加覆盖物

本文主要讲解如何实现在百度地图上添加覆盖物 1.承载数据的实体 我们从服务器返回的数据部分&#xff0c;最终可能是个Json数组&#xff0c;我们需要转换为实体集合&#xff0c;即下面的Info.java 我直接在实体类中声明了一个静态列表集合&#xff0c;模拟从服务器返回的数据…