版权声明:本文为博主原创文章,未经博主允许不得转载。
大家都知道, 在中, 有一个提醒用户的弹幕 , 就是吐司, 用来提示用户一些信息, 但是安卓中默认的吐司 样式太暗淡了, 好多小伙伴不喜欢,今天, 就带着大家一起打造个性化的吐司弹幕...开始今天的代码
- import android.content.Context;
- import android.graphics.PixelFormat;
- import android.view.Gravity;
- import android.view.LayoutInflater;
- import android.view.View;
- import android.view.WindowManager;
- import android.widget.TextView;
- import android.widget.Toast;
- import java.util.zip.Inflater;
- /**
- * Created by sxt on 2015.11.27
- */
- public class ToastUtils {
- private static Toast toast;
- private static TextView textView;
- /**
- * 自定义样式的吐司
- * <p/>
- * 静态toast 只创建一个toast实例 可以实时显示弹出的内容
- *
- * @param context
- * @param text
- */
- public static void showToast(Context context, String text) {
- if (toast == null) { // 1. 创建前 2.消失后toast为null
- // 获取打气筒
- LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
- //创建视图
- View view = inflater.inflate(R.layout.item_toast_bg, null);
- textView = (TextView) view.findViewById(R.id.tv_toast_text);
- //创建土司
- toast = new Toast(context);
- //设置居中方式 默认在底部
- //toast.setGravity(Gravity.CENTER, 0, 0);//如果不设置剧中方式,使用系统默认的吐司位置
- //设置土司的持续时长
- toast.setDuration(Toast.LENGTH_SHORT);
- //设置土司的背景View
- toast.setView(view);
- }
- //设置土司的显示额内容
- textView.setText(text);
- toast.show();
- }
- }
- <?xml version="1.0" encoding="utf-8"?>
- <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
- android:layout_width="match_parent"
- android:layout_height="match_parent"
- android:orientation="vertical">
- <TextView
- android:id="@+id/tv_toast_text"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_gravity="center"
- android:background="@drawable/yellow_round_bg"
- android:gravity="center"
- android:paddingBottom="8dp"
- android:paddingLeft="30dp"
- android:paddingRight="30dp"
- android:paddingTop="8dp"
- android:textColor="@color/green" />
- </LinearLayout>