博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
三、自定义Toast (可以播放音乐)
阅读量:7237 次
发布时间:2019-06-29

本文共 1924 字,大约阅读时间需要 6 分钟。

/** * 新数据Toast提示控件(带音乐播放) * @author liux (http://my.oschina.net/liux) * @version 1.0 * @created 2012-8-30 */public class NewDataToast extends Toast{        private MediaPlayer mPlayer;    private boolean isSound;        public NewDataToast(Context context) {        this(context, false);    }        public NewDataToast(Context context, boolean isSound) {        super(context);                this.isSound = isSound;        mPlayer = MediaPlayer.create(context, R.raw.newdatatoast);   //播放结束后立即释放播放器资源        mPlayer.setOnCompletionListener(new MediaPlayer.OnCompletionListener(){            @Override            public void onCompletion(MediaPlayer mp) {                mp.release();            }                    });    }    @Override    public void show() {        super.show();                if(isSound){            mPlayer.start();        }    }        /**     * 设置是否播放声音     */    public void setIsSound(boolean isSound) {        this.isSound = isSound;    }        /**     * 获取控件实例     * @param context     * @param text 提示消息     * @param isSound 是否播放声音     * @return     */    public static NewDataToast makeText(Context context, CharSequence text, boolean isSound) {        NewDataToast result = new NewDataToast(context, isSound);                LayoutInflater inflate = (LayoutInflater)context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);                DisplayMetrics dm = context.getResources().getDisplayMetrics();        //自定义toast布局          View v = inflate.inflate(R.layout.new_data_toast, null);        v.setMinimumWidth(dm.widthPixels);//设置控件最小宽度为手机屏幕宽度                TextView tv = (TextView)v.findViewById(R.id.new_data_toast_message);        tv.setText(text);                result.setView(v);         result.setDuration(600);//设置显示时间        result.setGravity(Gravity.TOP, 0, (int)(dm.density*75));//设置toast显示位置        return result;    }    }

 

转载于:https://www.cnblogs.com/qvbz/p/3167116.html

你可能感兴趣的文章
[Wc2007]剪刀石头布
查看>>
bzoj千题计划191:bzoj2337: [HNOI2011]XOR和路径
查看>>
mac下node安装提示command not found
查看>>
屏蔽webbrowser的网页弹出是js错误。
查看>>
【转】MMORPG游戏服务器技能系统设计:表格字段与技能程序框架
查看>>
Linux文件系统初步
查看>>
阅读《软件工程—理论方法与实践》第三章心得体会
查看>>
有关计算机学习的思考
查看>>
centos7基本环境搭建
查看>>
[功能集锦] 001 - java下载文件
查看>>
在CMD下用java命令出现“找不到或无法加载主类”问题
查看>>
【洛谷 P1616 疯狂的采药】
查看>>
新一代智能视频云发展现状分析:五大要素成关键
查看>>
zw版【转发·台湾nvp系列Delphi例程】HALCON CheckDifference
查看>>
51nod1055 最长等差数列
查看>>
最短路
查看>>
Deep learning:二十三(Convolution和Pooling练习)
查看>>
可靠信号
查看>>
yummain.py install yum 不能运行的原因 yummain.py not found
查看>>
ES6学习笔记--promise对象
查看>>