实现类似塔读掌阅的Toast

开发过程中,提示肯定会用到。系统提供的简单toast方便,但是样式真的很挫。一个好的应用如果toast这类细节没有做到的法,真是有些大煞风景的。

toast系统已经给我们提供提示的类,查看系统提供的toast还支持我们自己的View.好,咱们就用系统提供的这方法 来实现自定义的toast.

1.上图
这里写图片描述
2.代码实现

public class MsgView {
    private static MsgView msgView;

    private MsgView(){}

    public static MsgView getInstance(){
        if(msgView == null){
            msgView = new MsgView();
        }
        return msgView;
    }

    public void show(Context context,String msg){
        if(Looper.myLooper() == Looper.getMainLooper()){
            //还是有必要对线程进行判断的 只有在主线程中才能真正的调用,子线程直接就会奔溃的
            Toast result = new Toast(context);

            LayoutInflater inflate = (LayoutInflater)
                    context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
            View v = inflate.inflate(R.layout.view_msg,null);
            Animation animation = AnimationUtils.loadAnimation(context,R.anim.anim_msg);
            v.startAnimation(animation);
            TextView tv = (TextView)v.findViewById(R.id.text_msg);
            tv.setText(msg);

            result.setView(v);
            result.setDuration(Toast.LENGTH_SHORT);
            result.show();
        }else{
            Log.e("wuzp","toast is not in mainThread call");
        }
    }
}

3.demo的下载地址
git@github.com:wzp09tjlg/ToastDemo.git

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值