Lively and interesting animation Toast-third-party open-source-NiftyNotification, open-source WeChat third-party platform

Source: Internet
Author: User

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 }

 

Related Article

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.