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代码即可

 1 package com.gitonway.lee.niftynotification;
 2
 3 import android.app.Activity;
 4 import android.os.Bundle;
 5 import android.view.View;
 6 import com.gitonway.lee.niftynotification.lib.Effects;
 7 import com.gitonway.lee.niftynotification.lib.NiftyNotificationView;
 8
 9 public class MainActivity extends Activity {
10     private Effects effect;
11
12     @Override
13     protected void onCreate(Bundle savedInstanceState) {
14         super.onCreate(savedInstanceState);
15         setContentView(R.layout.activity_main);
16     }
17
18     public void showNotify(View v) {
19
20         String msg = "今天天气不错,心情也很好啊 !";
21
22         switch (v.getId()) {
23         case R.id.scale:
24             effect = Effects.scale;
25             break;
26         case R.id.thumbSlider:
27             effect = Effects.thumbSlider;
28             break;
29         case R.id.jelly:
30             effect = Effects.jelly;
31             break;
32         case R.id.slidein:
33             effect = Effects.slideIn;
34             break;
35         case R.id.flip:
36             effect = Effects.flip;
37             break;
38         case R.id.slideOnTop:
39             effect = Effects.slideOnTop;
40             break;
41         case R.id.standard:
42             effect = Effects.standard;
43             break;
44         }
45
46         NiftyNotificationView.build(this, msg, effect, R.id.mLyout).setIcon(R.drawable.lion) // You
47                                                                                                 // must
48                                                                                                 // call
49                                                                                                 // this
50                                                                                                 // method
51                                                                                                 // if
52                                                                                                 // you
53                                                                                                 // use
54                                                                                                 // ThumbSlider
55                                                                                                 // effect
56                 .show();
57
58         // You can configure like this
59         // The default
60
61         // Configuration cfg=new Configuration.Builder()
62         // .setAnimDuration(700)
63         // .setDispalyDuration(1500)
64         // .setBackgroundColor("#FFBDC3C7")
65         // .setTextColor("#FF444444")
66         // .setIconBackgroundColor("#FFFFFFFF")
67         // .setTextPadding(5) //dp
68         // .setViewHeight(48) //dp
69         // .setTextLines(2) //You had better use setViewHeight and setTextLines
70         // together
71         // .setTextGravity(Gravity.CENTER) //only text def
72         // Gravity.CENTER,contain icon Gravity.CENTER_VERTICAL
73         // .build();
74         //
75         // NiftyNotificationView.build(this,msg, effect,R.id.mLyout,cfg)
76         // .setIcon(R.drawable.lion) //remove this line ,only text
77         // .setOnClickListener(new View.OnClickListener() {
78         // @Override
79         // public void onClick(View view) {
80         // //add your code
81         // }
82         // })
83         // .show(); // show(boolean) allow duplicates or showSticky() sticky
84         // notification,you can call removeSticky() method close it
85     }
86
87 }

xml:

 1 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
 2     xmlns:tools="http://schemas.android.com/tools"
 3     android:layout_width="match_parent"
 4     android:layout_height="match_parent"
 5     android:background="#34495E"
 6     android:orientation="vertical"
 7     tools:context=".MainActivity">
 8
 9     <TextView
10         android:id="@+id/title"
11         android:layout_width="match_parent"
12         android:layout_height="48dp"
13         android:background="#000000"
14         android:textColor="#FFFFFF"
15         android:gravity="center"
16         android:text="Nifty Modal Notification Effects" />
17     <ScrollView
18         android:layout_width="match_parent"
19         android:layout_height="wrap_content"
20         android:layout_below="@+id/title"
21         android:scrollbars="none">
22         <LinearLayout
23             android:layout_width="match_parent"
24             android:layout_height="wrap_content"
25             android:orientation="vertical"
26             android:padding="5dp">
27
28             <Button
29                 android:id="@+id/scale"
30                 style="@style/my_btn"
31                 android:text="SCALE"
32                 />
33             <Button
34                 android:id="@+id/thumbSlider"
35                 style="@style/my_btn"
36                 android:text="THUMB SLIDER"
37                 />
38             <Button
39                 android:id="@+id/jelly"
40                 style="@style/my_btn"
41                 android:text="JELLY"
42                 />
43             <Button
44                 android:id="@+id/slidein"
45                 style="@style/my_btn"
46                 android:text="SLIDE IN"
47                 />
48             <Button
49                 android:id="@+id/flip"
50                 style="@style/my_btn"
51                 android:text="FLIP"
52                 />
53             <Button
54                 android:id="@+id/slideOnTop"
55                 style="@style/my_btn"
56                 android:text="SLIDE ON TOP"
57                 />
58             <Button
59                 android:id="@+id/standard"
60                 style="@style/my_btn"
61                 android:text="STANDARD"
62                 />
63         </LinearLayout>
64     </ScrollView>
65     <RelativeLayout
66         android:id="@+id/mLyout"
67         android:layout_below="@+id/title"
68         android:layout_width="match_parent"
69         android:layout_height="match_parent"
70         android:clipChildren="true"
71         >
72
73     </RelativeLayout>
74 </RelativeLayout>

运行效果图:

时间: 2024-11-06 19:57:50

Android动画效果生动有趣的通知NiftyNotification(Android Toast替代品)的相关文章

Android动画效果——1.帧动画2.补间动画3.跳转画面(三)

Android--动画效果1.帧动画2.补间动画3.跳转画面 插值器类 xml属性值 说明 LinearInterpolator @android:anim/linear_interpolatorr 动画以均匀的速度改变. AccelerateInterpolator @android:anim/accelerate_interpolator 在动画开始时改变速度较慢,然后开始加速. AccelerateDecelerateInterpolator @android:anim/accelerat

Android动画效果之Frame Animation(逐帧动画)(二)(

前言: 上一篇介绍了Android的Tween Animation(补间动画) Android动画效果之Tween Animation(补间动画),今天来总结下Android的另外一种动画Frame Animation(逐帧动画). Frame Animation(逐帧动画): 逐帧动画(Frame-by-frame Animations)从字面上理解就是一帧挨着一帧的播放图片,就像放电影一样.和补间动画一样可以通过xml实现也可以通过java代码实现.接下来借助目前项目中的一个开奖的动画来总结

200多种Android动画效果的强悍框架

admin 发布于2015-10-23 14:33 363/68015 [精品推荐]200多种Android动画效果的强悍框架,太全了,不看这个,再有动画的问题,不理你了^@^ 功能模块和技术方案 只看楼主 楼层直达 200多种Android动画效果的强悍框架,太全了 概要: Android近200多种动画效果集合框架源码,太全了,总有你需要的,木有你找不到的,相当强悍,非常棒的产品开发原型参考和学习资料 主要功能列表: 1)Splash动画 (中心打开式效果 ) 2)Flip折叠效果的集合(1

Android动画效果之初识Property Animation(属性动画)(三)

前言: 前面两篇介绍了Android的Tween Animation(补间动画) Android动画效果之Tween Animation(补间动画).Frame Animation(逐帧动画)Android动画效果之Frame Animation(逐帧动画)(二),其实总结前两个的根本目的就是为了学习今天的主角Property Animation(属性动画).其实在Android最早期只提供了前两种动画方式,在Android 3.0才引入了属性动画,谷歌为何要引入属性动画呢?今天我们来总结学习一

Android动画效果之Frame Animation(逐帧动画)

前言: 上一篇介绍了Android的Tween Animation(补间动画) Android动画效果之Tween Animation(补间动画),今天来总结下Android的另外一种动画Frame Animation(逐帧动画). 其他几种动画效果: Android动画效果之Tween Animation(补间动画) Android动画效果之Frame Animation(逐帧动画) Android动画效果之初识Property Animation(属性动画) Android动画效果之Prop

android动画效果演示

第一种:TranslateAnimation  动画效果演示: public void move(View view) { // 传统动画效果 TranslateAnimation animation=new TranslateAnimation(0, 500, 0, 0); // 时间 animation.setDuration(500); // 设置移动后的位置不恢复 animation.setFillAfter(true); ImageButton img=(ImageButton) fi

Android动画效果translate、scale、alpha、rotate详解

动画类型 Android的animation由四种类型组成 XML中 alpha 渐变透明度动画效果 scale 渐变尺寸伸缩动画效果 translate 画面转换位置移动动画效果 rotate 画面转移旋转动画效果 JavaCode中 AlphaAnimation 渐变透明度动画效果 ScaleAnimation 渐变尺寸伸缩动画效果 TranslateAnimation 画面转换位置移动动画效果 RotateAnimation 画面转移旋转动画效果 Android动画模式 Animation

Android动画效果之Tween Animation(补间动画)(一)

前言: 最近公司项目下个版本迭代里面设计了很多动画效果,在以往的项目中开发中也会经常用到动画,所以在公司下个版本迭代开始之前,抽空总结一下Android动画.今天主要总结Tween Animation(补间动画). Tween Animation(补间动画): Tween动画,通过对View的内容进行一系列的图形变换 (包括平移.缩放.旋转.改变透明度)来实现动画效果.动画效果的定义可以采用XML来做也可以采用编码来做. 动画类型 XML配置方式 Java代码实现方式 渐变透明度动画效果 <al

android动画效果(转载)

一.动画基本类型: 如下表所示,Android的动画由四种类型组成,即可在xml中定义,也可在代码中定义,如下所示: XML CODE 渐变透明度动画效果 alpha AlphaAnimation 渐变尺寸伸缩动画效果 scale ScaleAnimation 画面转换位置移动动画效果 translate TranslateAnimation 画面转移旋转动画效果 rotate RotateAnimation 二.如何在XML文件中定义动画 1.alpha <?xml version="1