Lively and interesting animation Toast-third-party open-source-NiftyNotification, open-source third-party platform
The home page of a project on github for NiftyNotification is: https://github.com/sd6352051/NiftyNotification
Nitynotification itself depends on another third-party open-source project NineOldAndroids on github. The project home page of NineOldAndroids on github is: https://github.com/JakeWharton/NineOldAndroids
After NineOldAndroids is correctly referenced, you can directly use NiftyNotification. In a simple period, you can even directly download a single jar package of NiftyNotification and add it to your project libs, and then use it directly.
NiftyNotification does not need to configure xml files. You only need to write the upper-layer Java code like the native Toast of Android. NiftyNotification's Java code is easy to write, rich configurable parameters, and highly customizable, extract some Java code examples from the NiftyNotification project:
Activity_main.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 <TextView10 android:id="@+id/title"11 android:layout_width="match_parent"12 android:layout_height="48dp"13 android:background="#000000"14 android:gravity="center"15 android:text="Nifty Modal Notification Effects"16 android:textColor="#FFFFFF" />17 18 <ScrollView19 android:layout_width="match_parent"20 android:layout_height="wrap_content"21 android:layout_below="@+id/title"22 android:scrollbars="none" >23 24 <LinearLayout25 android:layout_width="match_parent"26 android:layout_height="wrap_content"27 android:orientation="vertical"28 android:padding="5dp" >29 30 <Button31 android:id="@+id/scale"32 style="@style/my_btn"33 android:text="SCALE" />34 35 <Button36 android:id="@+id/thumbSlider"37 style="@style/my_btn"38 android:text="THUMB SLIDER" />39 40 <Button41 android:id="@+id/jelly"42 style="@style/my_btn"43 android:text="JELLY" />44 45 <Button46 android:id="@+id/slidein"47 style="@style/my_btn"48 android:text="SLIDE IN" />49 50 <Button51 android:id="@+id/flip"52 style="@style/my_btn"53 android:text="FLIP" />54 55 <Button56 android:id="@+id/slideOnTop"57 style="@style/my_btn"58 android:text="SLIDE ON TOP" />59 60 <Button61 android:id="@+id/standard"62 style="@style/my_btn"63 android:text="STANDARD" />64 </LinearLayout>65 </ScrollView>66 67 <RelativeLayout68 android:id="@+id/mLyout"69 android:layout_width="match_parent"70 android:layout_height="match_parent"71 android:layout_below="@+id/title"72 android:clipChildren="true" >73 </RelativeLayout>74 75 </RelativeLayout>
MainActivity. java:
1 package com.gitonway.lee.niftynotification; 2 3 import android.app.Activity; 4 import android.os.Bundle; 5 import android.view.Gravity; 6 import android.view.View; 7 import android.widget.Toast; 8 9 import com.gitonway.lee.niftynotification.lib.Configuration;10 import com.gitonway.lee.niftynotification.lib.Effects;11 import com.gitonway.lee.niftynotification.lib.NiftyNotificationView;12 13 public class MainActivity extends Activity {14 private Effects effect;15 16 @Override17 protected void onCreate(Bundle savedInstanceState) {18 super.onCreate(savedInstanceState);19 setContentView(R.layout.activity_main);20 }21 22 public void showNotify(View v){23 24 String msg="Today we’d like to share a couple of simple styles and effects for android notifications.";25 26 switch (v.getId()){27 case R.id.scale:effect=Effects.scale;break;28 case R.id.thumbSlider:effect=Effects.thumbSlider;break;29 case R.id.jelly:effect=Effects.jelly;break;30 case R.id.slidein:effect=Effects.slideIn;break;31 case R.id.flip:effect=Effects.flip;break;32 case R.id.slideOnTop:effect=Effects.slideOnTop;break;33 case R.id.standard:effect=Effects.standard;break;34 }35 36 37 38 39 // NiftyNotificationView.build(this,msg, effect,R.id.mLyout)40 // .setIcon(R.drawable.lion) //You must call this method if you use ThumbSlider effect41 // .show();42 43 44 45 // You can configure like this46 // The default47 48 Configuration cfg=new Configuration.Builder()49 .setAnimDuration(700)50 .setDispalyDuration(1500)51 .setBackgroundColor("#FFBDC3C7")52 .setTextColor("#9C27B0")53 .setIconBackgroundColor("#42A5F5")54 .setTextPadding(5) //dp55 .setViewHeight(48) //dp56 .setTextLines(2) //You had better use setViewHeight and setTextLines together57 .setTextGravity(Gravity.CENTER) //only text def Gravity.CENTER,contain icon Gravity.CENTER_VERTICAL58 .build();59 //60 NiftyNotificationView.build(this,msg, effect,R.id.mLyout,cfg)61 .setIcon(R.drawable.lion) //remove this line ,only text62 .setOnClickListener(new View.OnClickListener() {63 @Override64 public void onClick(View view) {65 //add your code66 }67 })68 .show(); // show(boolean) allow duplicates or showSticky() sticky notification,you can call removeSticky() method close it69 }70 71 }