安卓开源库之动画篇

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

一个富有动感的 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 浏览器使用代理…

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

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

Android实现监测网络状态

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

jni 步骤

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

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

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

盘点英特尔、苹果、高通、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…

【干货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;模拟从服务器返回的数据…

能力认证计划 -- 名企内推保 offer 直通车

CSDN 能力认证的目的&#xff1a;清晰定义工程师能力模型&#xff0c;面向开发者、技术爱好者、在校大学生等群体&#xff0c;通过机试&#xff08;真人露脸、全程录屏、限时提交&#xff09;测出应试者的真能力&#xff0c;筛选合格软件人才&#xff0c;建立应聘者与企业之间的…

fprintf 和 perror 的理解1

程序中的两种出错处理&#xff1a; 第一种: 用fprintf 2: #include <string.h> 3: #include <errno.h> 4: #include <stdlib.h> 5: 1: #include <stdio.h> 6: int main(void) 7: { 8: FILE *fp; 9: 10: if((fp fopen("1.c…

全文!《2018中国IoT报告》!

来源&#xff1a;5G9月15-18日&#xff0c;我国物联网领域规格最高、规模最大的国家级博览会——2018世界物联网博览会将在无锡举行。作为2018世界物联网博览会的重要活动之一&#xff0c;9月14日受大会组委会委托&#xff0c;中国经济信息社在无锡发布《2017-2018年中国物联网…

CSDN客户端实现

本文主要讲解实现了一个CSDN的安卓客户端&#xff0c;主要知识点如下 java爬虫获取网页数据 将java程序打包成jar包 FragmentviewpagerTabPageIndicator实现Tab效果 gestureImageView实现放大缩小图片imageLodar实现异步加载图上 XListView实现下拉刷新 java爬虫获取网页资源…

抓住金三银四的尾巴,解锁程序员面试《刷题神器》

点赞 ➕ 评论 ➕ 收藏 三连再看你最帅 刷题 不仅能掌握知识&#xff0c;快速学习进步。 更能轻松搞定面试&#xff0c;尤其是有的大厂 钟爱问算法题&#xff0c;你不刷就不会&#xff0c;就会被pass。同时&#xff0c;刷题能陶冶情操&#xff0c;避免老年痴呆 &#x1f60b; …