自定义Toast就是这么简单

你是否很讨厌安卓系统自带的Toast风格?是的话那就来自定义吧,只需三步轻轻松松搞定。

        先来看看效果图:

                                      

        第一步:  定义背景toast_bg.xml

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="rectangle" >

    <solid android:color="@color/bg_gray" />

    <stroke
        android:width="1dp"
        android:color="@color/stroke_gray" />

    <corners android:radius="5dp" />

</shape>

       第二步:定义布局custom_toast.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:background="@drawable/toast_bg" >

    <TextView
        android:id="@+id/toast_message"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:gravity="center"
        android:maxLines="2"
        android:padding="@dimen/text_margin"
        android:textColor="@color/text_black"
        android:textSize="@dimen/hint_textsize" />

</LinearLayout>

       第三步:自定义Toast类CustomToast

import android.content.Context;
import android.view.Gravity;
import android.view.LayoutInflater;
import android.view.View;
import android.widget.TextView;
import android.widget.Toast;

import com.free.ui.R;

public class CustomToast {

	private static Toast toast=null;

	public static void showShortToast(Context context, String message) {
		LayoutInflater inflater = (LayoutInflater) context
				.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
		// 获取自定义布局实例	
		View view = inflater.inflate(R.layout.custom_toast, null);
		// 设置提示内容
		TextView text = (TextView) view.findViewById(R.id.toast_message);
		text.setText(message);
		// 确保只有一个Toast实例创建
		if (toast == null) {
			toast = new Toast(context);
			toast.setDuration(Toast.LENGTH_SHORT);
			toast.setGravity(Gravity.CENTER, 0, 0);		
		}
		// 加载自定义布局
		toast.setView(view);
		toast.show();
	}
}

在需要使用Toast地方,调用CustomToast.showShortToast()方法就行了,很简单吧?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值