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>

运行效果图:

 

posted on 2015-12-02 15:35  0代码狂人0  阅读(783)  评论(0编辑  收藏  举报