前言

项目中 一般会封装一个Toast工具类 或者用第三方
自己写比较容易符合业务需求 也不难 来一起看看实现吧

public class ToastHelper {private static Toast sToast;private ToastHelper() {}public static void showToast(Context context, String text) {showToastInner(context, text, Toast.LENGTH_SHORT);}public static void showToast(Context context, int stringId) {showToastInner(context, context.getString(stringId), Toast.LENGTH_SHORT);}public static void showToastLong(Context context, String text) {showToastInner(context, text, Toast.LENGTH_LONG);}public static void showToastShortInCenter(Context context, String text) {Toast toast = Toast.makeText(context, text, Toast.LENGTH_SHORT);toast.setGravity(Gravity.CENTER, 0, 0);LinearLayout linearLayout = (LinearLayout) toast.getView();TextView messageTextView = (TextView) linearLayout.getChildAt(0);messageTextView.setTextSize(40);toast.show();}public static void showToastShortInCenterOnLong(Context context, String text,long showTime) {Toast toast = Toast.makeText(context, text, Toast.LENGTH_LONG);toast.setGravity(Gravity.CENTER, 0, 0);LinearLayout linearLayout = (LinearLayout) toast.getView();TextView messageTextView = (TextView) linearLayout.getChildAt(0);messageTextView.setTextSize(40);new CountDownTimer(showTime, 1000) {@Overridepublic void onTick(long showTime) {toast.show();}@Overridepublic void onFinish() {toast.cancel();}}.start();}public static void showToastLong(Context context, int stringId) {showToastInner(context, context.getString(stringId), Toast.LENGTH_LONG);}private static void showToastInner(Context context, String text, int duration) {ensureToast(context);sToast.setText(text);sToast.setDuration(duration);sToast.show();}@SuppressLint("ShowToast")private static void ensureToast(Context context) {if (sToast != null) {return;}synchronized (ToastHelper.class) {if (sToast != null) {return;}sToast = Toast.makeText(context.getApplicationContext(), " ", Toast.LENGTH_SHORT);LinearLayout linearLayout = (LinearLayout) sToast.getView();TextView messageTextView = (TextView) linearLayout.getChildAt(0);messageTextView.setTextSize(40);messageTextView.setPadding(10, 10, 10, 10);}}
}

Android 自定义一个Toast相关推荐

  1. Android自定义一个车牌字母选择键盘

    在一般和车相关的应用,难免会和车牌打交道,组成车牌的要素,国内无非就是省份简称+地区代码+英文或者数字组成,比如京A12345,在需要输入车牌的功能上,就需要有省份简称键盘和英文数字键盘了,在上篇的文 ...

  2. Android自定义一个属于自己的时间钟表

    1.概述 本文主要讲解的是如何自定义一个时间钟表,通过简单的练习可以简单学习android当中自定义view的一些常用绘图技巧,优化android绘图操作.言归正传,首先看下我们需要实现的效果: 当我 ...

  3. Android自定义一个播放器控件

    介绍 最近要使用播放器做一个简单的视频播放功能,开始学习VideoView,在横竖屏切换的时候碰到了点麻烦,不过在查阅资料后总算是解决了.在写VideoView播放视频时候定义控制的代码全写在Actv ...

  4. Android自定义一个可伸展的ViewGroup

    /   今日科技快讯   / 近日多家媒体报道,有认证为阿里巴巴集团的员工在职场社交平台称,"88VIP积分将可以免费兑换腾讯视频会员,已经在内部灰度测试,预计双十一前上线".但是 ...

  5. Android自定义一个View实现运动的小人

    实现一个能动的人是我对模仿<奇怪的大冒险>第一阶段的最后一步,这一段时间学会了许多的东西,见到了很多大坑,也顺利脱险了.而本文所说的|能动的人是基于ImageView打造的.在ImageV ...

  6. Android自定义一个省份简称键盘

    hello啊各位老铁,这篇文章我们重新回到Android当中的自定义View,其实最近一直在搞Flutter,初步想法是,把Flutter当中的基础组件先封装一遍,然后接着各个工具类,列表,网络,统统 ...

  7. Android自定义一个对话框,完全自定义Android对话框AlertDialog的实现

    Android本身封装的AlertDialog.Builder很方便易用,但如果想要自定义弹出对话框的风格,如标题字体背景元素间隔之类的,那就比较困难了. 最近我就遇到了这个问题,一个工程的界面风格全 ...

  8. Android 自定义Toast实现多次触发只会显示一次toast

    #使用场景描述 当我们处于某个场景,例如一个按钮可以触发toast的显示,当你在多次点击按钮时,会多次触发toast的显示.而调用android原生的toast的makeText的方式所生产的toas ...

  9. 使用android ProgressBar和Toast生成一个界面

    为什么80%的码农都做不了架构师?>>>    首先我需要这样一个界面 这个界面是在使用AudioManager.adjustStreamVolume(int streamType, ...

最新文章

  1. 箭头函数可被打印却不能调用_5种应该避免使用箭头函数的情况
  2. Laravel 校验规则之字段值唯一性校验
  3. java 图像梯度检测_数字图像处理-边缘检测
  4. mysql数据库ACID实现原理
  5. Excel导出改造_只填写字典类型_就可以自动对应导出_字典类添加获取字典值方法---SpringCloud Alibaba_若依微服务框架改造---工作笔记013
  6. LeetCode数据库 178. 分数排名
  7. 人工智能(ai)和专家系统(expert system)的区别
  8. 中心极限与大数定理律的关系_21厦大数学考研 | 数列与函数极限复习建议!
  9. 黑马程序员—选择黑马,是我前进的方向
  10. Windows十四种系统故障解决方法
  11. 读书:依然在地铁上 | 自嗨有度
  12. UI 即 User Interface( 用户界面 ) 的简称
  13. html标签对应的英文原文,[转载]片尾字幕中英文对照
  14. 微信开发工具如何修改模拟页面路径
  15. WPS中如何将多个文件在不同窗口中打开
  16. Linux学习日记- - -配置篇##1
  17. 精彩总结:★加密网页破解大法★
  18. 夫琅禾费单缝衍射matlab分析,夫琅禾费单缝衍射光强分析与探讨
  19. 程序员必备的编程集成开发工具
  20. python笔记第二章---变量

热门文章

  1. 在腾讯云搭建代理服务器的全部过程
  2. 数据分析师8大实用能力实战培养课程
  3. uniapp连接蓝牙相关问题
  4. 嵌入式--深入理解单片机(一)单片机程序是如何运行起来的以及单片机的ROM和RAM
  5. vue3 创建vue3模板
  6. 19秋计算机应用基础在线作业2,计算机应用基础19秋在线作业2 Windows 下能浏览并管理文件 驱动器及网络连接的强大工具是...
  7. window下diskpart给SD卡分区
  8. win7计算机个性化,win7系统桌面右击不显示个性化选项的解决方法
  9. 漏电继电器LLJ-100FG/CT45mm/AC220V
  10. 计算机系统的位的描述性定义,计算机系统中,“位(bit)”的描述性定义是()