Android动画效果生动有趣的通知NiftyNotification(Android Toast替代品)
NiftyNotification在github上的项目主页是:https://github.com/sd6352051/NiftyNotification
NiftyNotification本身又依赖于另外一个github上的第三方开源项目NineOldAndroids,NineOldAndroids在github上的项目主页是:https://github.com/JakeWharton/NineOldAndroids
正确添加NineOldAndroids引用后,即可直接使用NiftyNotification。简单期间,甚至可以直接将NiftyNotification的单个jar包下载后加入到自己的项目libs中,然后直接使用。
NiftyNotification无需配置xml文件,只需像Android原生的Toast那样写上层Java代码即可
package com.gitonway.lee.niftynotification; import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import com.gitonway.lee.niftynotification.lib.Effects;
import com.gitonway.lee.niftynotification.lib.NiftyNotificationView; public class MainActivity extends Activity {
private Effects effect; @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
} public void showNotify(View v) { String msg = "今天天气不错,心情也很好啊 !"; switch (v.getId()) {
case R.id.scale:
effect = Effects.scale;
break;
case R.id.thumbSlider:
effect = Effects.thumbSlider;
break;
case R.id.jelly:
effect = Effects.jelly;
break;
case R.id.slidein:
effect = Effects.slideIn;
break;
case R.id.flip:
effect = Effects.flip;
break;
case R.id.slideOnTop:
effect = Effects.slideOnTop;
break;
case R.id.standard:
effect = Effects.standard;
break;
} NiftyNotificationView.build(this, msg, effect, R.id.mLyout).setIcon(R.drawable.lion) // You
// must
// call
// this
// method
// if
// you
// use
// ThumbSlider
// effect
.show(); // You can configure like this
// The default // Configuration cfg=new Configuration.Builder()
// .setAnimDuration(700)
// .setDispalyDuration(1500)
// .setBackgroundColor("#FFBDC3C7")
// .setTextColor("#FF444444")
// .setIconBackgroundColor("#FFFFFFFF")
// .setTextPadding(5) //dp
// .setViewHeight(48) //dp
// .setTextLines(2) //You had better use setViewHeight and setTextLines
// together
// .setTextGravity(Gravity.CENTER) //only text def
// Gravity.CENTER,contain icon Gravity.CENTER_VERTICAL
// .build();
//
// NiftyNotificationView.build(this,msg, effect,R.id.mLyout,cfg)
// .setIcon(R.drawable.lion) //remove this line ,only text
// .setOnClickListener(new View.OnClickListener() {
// @Override
// public void onClick(View view) {
// //add your code
// }
// })
// .show(); // show(boolean) allow duplicates or showSticky() sticky
// notification,you can call removeSticky() method close it
} }
xml:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#34495E"
android:orientation="vertical"
tools:context=".MainActivity"> <TextView
android:id="@+id/title"
android:layout_width="match_parent"
android:layout_height="48dp"
android:background="#000000"
android:textColor="#FFFFFF"
android:gravity="center"
android:text="Nifty Modal Notification Effects" />
<ScrollView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/title"
android:scrollbars="none">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:padding="5dp"> <Button
android:id="@+id/scale"
style="@style/my_btn"
android:text="SCALE"
/>
<Button
android:id="@+id/thumbSlider"
style="@style/my_btn"
android:text="THUMB SLIDER"
/>
<Button
android:id="@+id/jelly"
style="@style/my_btn"
android:text="JELLY"
/>
<Button
android:id="@+id/slidein"
style="@style/my_btn"
android:text="SLIDE IN"
/>
<Button
android:id="@+id/flip"
style="@style/my_btn"
android:text="FLIP"
/>
<Button
android:id="@+id/slideOnTop"
style="@style/my_btn"
android:text="SLIDE ON TOP"
/>
<Button
android:id="@+id/standard"
style="@style/my_btn"
android:text="STANDARD"
/>
</LinearLayout>
</ScrollView>
<RelativeLayout
android:id="@+id/mLyout"
android:layout_below="@+id/title"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:clipChildren="true"
> </RelativeLayout>
</RelativeLayout>
运行效果图:
Android动画效果生动有趣的通知NiftyNotification(Android Toast替代品)的更多相关文章
- Android动画效果之自定义ViewGroup添加布局动画
前言: 前面几篇文章介绍了补间动画.逐帧动画.属性动画,大部分都是针对View来实现的动画,那么该如何为了一个ViewGroup添加动画呢?今天结合自定义ViewGroup来学习一下布局动画.本文将通 ...
- Android动画效果之Property Animation进阶(属性动画)
前言: 前面初步认识了Android的Property Animation(属性动画)Android动画效果之初识Property Animation(属性动画)(三),并且利用属性动画简单了补间动画 ...
- Android动画效果之初识Property Animation(属性动画)
前言: 前面两篇介绍了Android的Tween Animation(补间动画) Android动画效果之Tween Animation(补间动画).Frame Animation(逐帧动画)Andr ...
- Android动画效果之Frame Animation(逐帧动画)
前言: 上一篇介绍了Android的Tween Animation(补间动画) Android动画效果之Tween Animation(补间动画),今天来总结下Android的另外一种动画Frame ...
- Android动画效果之Tween Animation(补间动画)
前言: 最近公司项目下个版本迭代里面设计了很多动画效果,在以往的项目中开发中也会经常用到动画,所以在公司下个版本迭代开始之前,抽空总结一下Android动画.今天主要总结Tween Animation ...
- 200多种Android动画效果的强悍框架
admin 发布于2015-10-23 14:33 363/68015 [精品推荐]200多种Android动画效果的强悍框架,太全了,不看这个,再有动画的问题,不理你了^@^ 功能模块和技术方案 只 ...
- android 动画效果
动画资源 一.分类: (一).概要: 3.0以前,android支持两种动画模式,补间动画(tween animation),帧动画(frame animation),在android ...
- Android -- 动画效果收获(1)
加载选项菜单 MenuInflater inflater = getMenuInflater(); inflater.inflater(R.menu.menu,menu); An ...
- Android动画效果translate、scale、alpha、rotate详解
动画类型 Android的animation由四种类型组成 XML中 alpha 渐变透明度动画效果 scale 渐变尺寸伸缩动画效果 translate 画面转换位置移动动画效果 rotate 画面 ...
随机推荐
- JavaWeb项目的classpath说明
概念解释: classpath : 即项目中WEB-INF下面的classes目录; 应用: [01] src路径下的文件在编译后会放到WEB-INF/classes路径下.默认的classpath是 ...
- tracert命令详解
一.windows.Linux系统下 tracert ip/网站域名 二.mac traceroute IP/域名 ---------2016-10-10 15:29:07-- source:[1]t ...
- Docker-创建一个mysql容器,并保存为本地镜像
查找docker hub上的镜像 [root@wls12c ~]$ docker search mysql NAME DESCRIPTION STARS OFFICIAL AUTOMATED mysq ...
- html5 和css3的小知识!
阿里web字体的使用 (1)进入官网 点击webfont (2)输入对应的文字 然后选择添加字体 (3)可以直接引用线上地址或者本地下载,引用线上地址需要添加http,(在服务器环境下可以不用),如 ...
- Swift语言学习之学习资源
(1) http://swift.sh (2) Let's Swift – WRITE THE CODE. CHANGE THE WORLD. http://letsswift.com (3)http ...
- iOS之UIImagePickerController的应用
直接代码敬之 @import MobileCoreServices; @import AVFoundation; <UIImagePickerControllerDelegate,UINavig ...
- excel 里面拼接 MySQL insert 语句
="('"&A2&"',"&" '"&B2&"','"&C2&& ...
- 是不是每个新手都要在samba那儿交足够的时间学费?
每次重新装了虚拟机都会在安装几个必要的服务器这个浪费不少时间, 这一次在Fedora20上装samba,这么配置都无法再windows上登陆,查看了各种配置文件,折腾的天昏地暗,最后终于找到原因: 在 ...
- hiho_1041 国庆出游
题目 给定一棵树,N个节点,N - 1条边.给定m个节点,能否找出一种遍历方法,使得首次到达节点ai的时间小于首次到达节点aj的时间(i < j).且经过的路径上的每条边都最多走两遍 分析 我的 ...
- 关于e820cycles参数
关于e820cycles参数http://bbs.wuyou.net/forum.php?mod=redirect&goto=findpost&ptid=327458&pid= ...