// 一般做法
public void showToast(Context context, String msg) {  Toast.makeText(context, msg, Toast.LENGTH_SHORT).show();
} 

===============华丽的分割线===============

// 如果Activity或Fragment有继承基类,则在基类中变成
public void showToast(String msg) {  Toast.makeText(this, msg, Toast.LENGTH_SHORT).show();
}
或
public void showToast(String msg) {  Toast.makeText(getActivity(), msg, Toast.LENGTH_SHORT).show();
} 

===============华丽的分割线===============

// 如果有自定Application的话,譬如:
public class MyApplication extends Application {  private static Context mContext;  @Override  public void onCreate() {  super.onCreate();  mContext = getApplicationContext();  }  public static Context getContext() {  return mContext;  }
}
// 则可以自定义ToastUtil类
class ToastUtil{public static void show(String msg) {  Toast.makeText(MyApplication.getContext(), msg, Toast.LENGTH_SHORT).show(); }
}

===============华丽的分割线===============

res/drawable/toast_custom_bg.xml

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" >  //可以根据实际情况来自定义Toast的显示样式  <solid android:color="#ff5252" />  <corners android:radius="5dp" />  <padding  android:bottom="10dp"  android:left="15dp"  android:right="15dp"  android:top="10dp" />
</shape> 

res/layout/toast_custom.xml

<?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:background="@drawable/toast_custom_bg"  android:orientation="vertical" >  <TextView  android:id="@+id/tv_toast"  android:layout_width="wrap_content"  android:layout_height="wrap_content"  android:textColor="@color/white"  android:textSize="16sp" />  </LinearLayout>

最后就可以自定义Toast的显示样式了:

class ToastUtil{public static void show(String msg) {  LinearLayout v = (LinearLayout) LinearLayout.inflate(MyApplication.getContext(), R.layout.toast_custom, null);  TextView tv_toast = (TextView) v.findViewById(R.id.tv_toast);  tv_toast.setText(msg);  Toast toast = new Toast(MyApplication.getContext());  toast.setGravity(Gravity.CENTER, 0, 0);//可以自定义Toast显示在屏幕上的位置
        toast.setDuration(Toast.LENGTH_SHORT);  toast.setView(v);  toast.show();  }
}

转载于:https://www.cnblogs.com/VichanHo/p/5227970.html

android中对Toast的简单封装相关推荐

  1. c语言 long和short区别,5分钟读懂Android 中的toast short 和long的区别

    android 中的toast short 和long的区别,在Android源码中的NotificationManagerService.java这个类中定义了两个静态变量,分别对应Toast.LE ...

  2. java toast_详解Android中的Toast源码

    Toast源码实现 Toast入口    我们在应用中使用Toast提示的时候,一般都是一行简单的代码调用,如下所示: [java] view plaincopyprint?在CODE上查看代码片派生 ...

  3. Android AsyncTask 深度理解、简单封装、任务队列分析、自定义线程池

    前言:由于最近在做SDK的功能,需要设计线程池.看了很多资料不知道从何开始着手,突然发现了AsyncTask有对线程池的封装,so,就拿它开刀,本文将从AsyncTask的基本用法,到简单的封装,再到 ...

  4. android中自定义 toast,android 自定义Toast

    Toast是android的一个简易消息提示框. 它不会获得焦点,也无法被点击.向用户提示信息,却不停留着不动. 其实,自定义Toast非常简单: 先看效果: 首先:新建一个mtoast.xml布局文 ...

  5. Android中土司(Toast)的使用

     Android中Toast的使用 什么是土司(Toast)? Toast是Android系统提供的一种非常好的提示方式,在程序中可以使用它将一些短小的信息通知给用户,这些信息会在一段时间后自动消失, ...

  6. adpater里写toast_如何在Android中显示Toast?

    要在您的应用程序中显示Toast,请尝试以下操作:Toast.makeText(getActivity(), (String)data.result, Toast.LENGTH_LONG).show( ...

  7. 『後起Android开发02』对SharedPreferences和Toast的简单封装

    转载请注明,原文地址:http://blog.csdn.net/liu17ezlyy 偶尔看到一些老外的代码,总感觉他们写太好了,很赞.我技术一般,没有这么大的能耐,只能简单优化一下我认为能缩减的代码 ...

  8. Android中使用Toast弹出提示消息的优化(弹出多个吐丝提示)- 代码已封装可直接使用

    在开发Android APP时经常会使用吐丝提示,如果直接使用[Toast.makeText(context, text, Toast.LENGTH_SHORT).show();]方法,连续弹出吐丝时 ...

  9. android中自定义 toast,android 自定义Toast样式和显示方式

    问题: 1.android 开发中如果不停的触发显示Toast,会造成Toast一个接一个的弹出,非常影响用户体验. 2.android设备有千万个,每个设备的Toast的背景有可能不一样,造成在应用 ...

最新文章

  1. SBB:无机肥对土壤中固氮菌丰度和群落结构的影响
  2. 第39次《中国互联网络发展状况统计报告》发布
  3. 67 cookie常用方法
  4. python第一章笔记_head first python(第一章)–学习笔记
  5. jsp_el内置对象pageContext和Cookie
  6. 负载均衡原理剖析与实践:负载均衡第一篇-介绍篇
  7. java 邮件发送乱码_java邮件发送乱码解决方法
  8. c++标准库iostream
  9. android app wifi密码,手机WiFi密码显示APP
  10. iOS 第三方库插件和知名博客
  11. 《深度易经·deepin-bible》草稿汇
  12. JavaScript复制内容到剪贴板 1
  13. vs2013创建WebService
  14. java中产生0-100之间的随机整数
  15. spring boot项目:用户中心的商品信息编辑功能
  16. sap crm button_SAP携Intelligent RPA 2.0 参加中国流程自动化产业峰会
  17. PostgreSQL数据库连接
  18. Java对接快递100
  19. 通过tushare获取金融数据的方法
  20. Snort 预处理器 ——portscan

热门文章

  1. python用什么运行环境_使用SAE部署Python运行环境的教程
  2. 【转载】VSCode+OpenCV+C++配置
  3. pycharm如何设置注释的字体颜色
  4. 大道至简阅读笔记02
  5. SSRS Report Knowledge Base
  6. 关于Node.js中安装完express后不能使用express命令
  7. HDU 1198 Farm Irrigation
  8. Heritrix 3.1.0 源码解析(八)
  9. jstl标签的用法 fn标签
  10. 添加Graphic Drivers PPA