安卓 自定义吐司样式

大家都知道, 在安卓中, 有一个提醒用户的弹幕 , 就是吐司, 用来提示用户一些信息, 但是安卓中默认的吐司 样式太暗淡了, 好多小伙伴不喜欢,今天, 就带着大家一起打造个性化的吐司弹幕...开始今天的代码

 
  1. import android.content.Context;  
  2. import android.graphics.PixelFormat;  
  3. import android.view.Gravity;  
  4. import android.view.LayoutInflater;  
  5. import android.view.View;  
  6. import android.view.WindowManager;  
  7. import android.widget.TextView;  
  8. import android.widget.Toast;  
  9. import java.util.zip.Inflater;  
  10.   
  11. /** 
  12.  * Created by sxt on 2015.11.27 
  13.  */  
  14. public class ToastUtils {  
  15.     private static Toast toast;  
  16.     private static TextView textView;  
  17.     /** 
  18.      * 自定义样式的吐司 
  19.      * <p/> 
  20.      * 静态toast 只创建一个toast实例 可以实时显示弹出的内容 
  21.      * 
  22.      * @param context 
  23.      * @param text 
  24.      */  
  25.     public static void showToast(Context context, String text) {  
  26.   
  27.         if (toast == null) { // 1. 创建前 2.消失后toast为null  
  28.             // 获取打气筒  
  29.             LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);  
  30.             //创建视图  
  31.             View view = inflater.inflate(R.layout.item_toast_bg, null);  
  32.             textView = (TextView) view.findViewById(R.id.tv_toast_text);  
  33.             //创建土司  
  34.             toast = new Toast(context);  
  35.             //设置居中方式  默认在底部  
  36.             //toast.setGravity(Gravity.CENTER, 0, 0);//如果不设置剧中方式,使用系统默认的吐司位置  
  37.             //设置土司的持续时长  
  38.             toast.setDuration(Toast.LENGTH_SHORT);  
  39.             //设置土司的背景View  
  40.             toast.setView(view);  
  41.         }  
  42.         //设置土司的显示额内容  
  43.         textView.setText(text);  
  44.         toast.show();  
  45.     }  
  46. }  

下面是吐司现实的布局  item_toast_bg.xml
  1. <?xml version="1.0" encoding="utf-8"?>  
  2. <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"  
  3.     android:layout_width="match_parent"  
  4.     android:layout_height="match_parent"  
  5.     android:orientation="vertical">  
  6.   
  7.   
  8.     <TextView  
  9.         android:id="@+id/tv_toast_text"  
  10.         android:layout_width="wrap_content"  
  11.         android:layout_height="wrap_content"  
  12.         android:layout_gravity="center"  
  13.         android:background="@drawable/yellow_round_bg"  
  14.         android:gravity="center"  
  15.         android:paddingBottom="8dp"  
  16.         android:paddingLeft="30dp"  
  17.         android:paddingRight="30dp"  
  18.         android:paddingTop="8dp"  
  19.         android:textColor="@color/green" />  
  20.   
  21.   
  22. </LinearLayout>  
posted @ 2017-01-10 14:27  江北小乔  阅读(395)  评论(0编辑  收藏  举报