Toast 是一个 View 视图,快速的为用户显示少量的信息。 Toast 在应用程序上浮动显示信息给用户,它永远不会获得焦点,不影响用户的输入等操作,主要用于 一些帮助 / 提示。

Toast 最常见的创建方式是使用静态方法 Toast.makeText

我使用的是 SDK 2.2

1.  默认的显示方式

     // 第一个参数:当前的上下文环境。可用getApplicationContext()或this// 第二个参数:要显示的字符串。也可是R.string中字符串ID// 第三个参数:显示的时间长短。Toast默认的有两个LENGTH_LONG(长)和LENGTH_SHORT(短),也可以使用毫秒如2000msToast toast=Toast.makeText(getApplicationContext(), "默认的Toast", Toast.LENGTH_SHORT);//显示toast信息toast.show();

2. 自定义显示位置

Toast toast=Toast.makeText(getApplicationContext(), "自定义显示位置的Toast", Toast.LENGTH_SHORT);//第一个参数:设置toast在屏幕中显示的位置。我现在的设置是居中靠顶//第二个参数:相对于第一个参数设置toast位置的横向X轴的偏移量,正数向右偏移,负数向左偏移//第三个参数:同的第二个参数道理一样//如果你设置的偏移量超过了屏幕的范围,toast将在屏幕内靠近超出的那个边界显示toast.setGravity(Gravity.TOP|Gravity.CENTER, -50, 100); //屏幕居中显示,X轴和Y轴偏移量都是0//toast.setGravity(Gravity.CENTER, 0, 0); toast.show();

3. 带图片的

Toast toast=Toast.makeText(getApplicationContext(), "显示带图片的toast", 3000);toast.setGravity(Gravity.CENTER, 0, 0); //创建图片视图对象ImageView imageView= new ImageView(getApplicationContext());//设置图片imageView.setImageResource(R.drawable.ic_launcher);//获得toast的布局LinearLayout toastView = (LinearLayout) toast.getView();//设置此布局为横向的toastView.setOrientation(LinearLayout.HORIZONTAL);//将ImageView在加入到此布局中的第一个位置toastView.addView(imageView, 0);toast.show();

4. 完全自定义显示方式

//Inflater意思是充气//LayoutInflater这个类用来实例化XML文件到其相应的视图对象的布局LayoutInflater inflater = getLayoutInflater();//通过制定XML文件及布局ID来填充一个视图对象View layout = inflater.inflate(R.layout.custom2,(ViewGroup)findViewById(R.id.llToast));ImageView image = (ImageView) layout.findViewById(R.id.tvImageToast);//设置布局中图片视图中图片image.setImageResource(R.drawable.ic_launcher);TextView title = (TextView) layout.findViewById(R.id.tvTitleToast);//设置标题title.setText("标题栏");TextView text = (TextView) layout.findViewById(R.id.tvTextToast);//设置内容text.setText("完全自定义Toast");Toast toast= new Toast(getApplicationContext());toast.setGravity(Gravity.CENTER , 0, 0);toast.setDuration(Toast.LENGTH_LONG);toast.setView(layout);toast.show();

5. 其他线程通过 Handler 的调用

 //调用方法1//Thread th=new Thread(this);//th.start();//调用方法2handler.post(new Runnable() {@Overridepublic void run() {showToast();}});
public void showToast(){Toast toast=Toast.makeText(getApplicationContext(), "Toast在其他线程中调用显示", Toast.LENGTH_SHORT);toast.show();}
Handler handler=new Handler(){@Overridepublic void handleMessage(Message msg) {int what=msg.what;switch (what) {case 1:showToast();break;default:break;}super.handleMessage(msg);}};
@Overridepublic void run() {handler.sendEmptyMessage(1);}


源代码下载地址:

Android应用开发学习—Toast使用方法大全相关推荐

  1. android NFC 开发学习笔记(1)

    由于工作需求,最近在研究android nfc开发,借鉴了很对大神的文章在此记录自己的学习过程: 大家学习android开发建议首选android开发文档,该文档在你下载的sdk中,路径:/sdk/d ...

  2. android源码学习-Toast实现原理讲解

    前言: 前些日志QQ群有朋友发了一个Toast的崩溃日志.Toast如此简单的用法怎么会崩溃呢?所以顺便就学习了一下Toast在源码中的实现,不算复杂,但内容挺多的,这里就来分享一下,方便读者. 一. ...

  3. Android底层开发学习笔记 第一天

    今天,开始学习Android底层的开发.(注:我是新手小白,纯粹学习笔记,大神们可以直接略过了) 第一部分 编译运行我的第一个Android system. 准备工作: 下载源码:包括u-boot源码 ...

  4. Android 应用开发学习笔记(1 of 2,from hitwh)

    Android 应用开发 注意!由于文章图片是通过typora一键上传图片实现,该功能还存在bug,容易导致图片顺序混乱,文章开头提供了原版文章的 pdf 资源下载,推荐下载 pdf 后观看,或评论区 ...

  5. Android 应用开发学习笔记(2 of 2,from hitwh)

    Android 应用开发 注意!由于文章图片是通过typora一键上传图片实现,该功能还存在bug,容易导致图片顺序混乱,文章(1 of 2)开头提供了原版文章的 pdf 资源下载,推荐下载 pdf ...

  6. Android游戏开发学习路线

    要想使学习Android游戏开发道路平缓,有以下几条建议: 1.反复阅读<Thinking In Java>即<Java编程思想>,反复练习,透彻理解Java语言特性,打牢Ja ...

  7. 【转】【Java/Android】Toast使用方法大全

    Toast 是一个 View 视图,快速的为用户显示少量的信息. Toast 在应用程序上浮动显示信息给用户,它永远不会获得焦点,不影响用户的输入等操作,主要用于 一些帮助 / 提示. Toast 最 ...

  8. java toast_【转】【Java/Android】Toast使用方法大全

    Toast 是一个 View 视图,快速的为用户显示少量的信息. Toast 在应用程序上浮动显示信息给用户,它永远不会获得焦点,不影响用户的输入等操作,主要用于 一些帮助 / 提示. Toast 最 ...

  9. Android Adapter相关学习及使用方法

    声明:刚开始学习Android技术,笔记中可能会有一些错误,如有发现请下方评论指出 Adapter应该是安卓中比较重要的一个知识点,官方文档说Adapter扮演一个在AdapterView即视图和底层 ...

最新文章

  1. 机器学习中的数学(4)-线性判别分析(LDA), 主成分分析(PCA)
  2. improve怎么加ing_英语当中的ing
  3. 5.5 关于数据的问题
  4. 1215课后练习----判断字符串位置
  5. content的定义
  6. 谷歌紧急修复已遭在野利用的Chrome 0day
  7. POJ3494Largest Submatrix of All 1’s[单调栈]
  8. supervisor 管理
  9. eplan好看的电缆图表_EPLAN电缆图表模板
  10. 本地计算机 策略在哪xp系统,本地组策略编辑器在哪 打开组策略管理器方法
  11. 面试题之细胞分裂问题
  12. 诛仙账号合并服务器,《诛仙3》10/17 服务器数据互通公告
  13. SQLServer锁表
  14. 从零开始写第一个Flutter app(八)——修改主题颜色
  15. Socket:由于系统缓冲区空间不足或队列已满,不能执行套接字上的操作
  16. Uboot DM9621网卡移植之路
  17. 室内导航技术蓝牙aoa定位运用
  18. 在Vue中使用flex布局 echarts多图标不能自适应缩放问题
  19. linux静音,如何在Ubuntu终端中静音/禁用硬件提示音
  20. 艾司博讯:拼多多企业店铺和个人店的区别在哪里?

热门文章

  1. 薛之谦成淘宝最红明星店主!不会讲段子的歌手开不好网店
  2. 【技术小说连载】新三国外传——草船借箭
  3. 用python导入excel表格
  4. html中整个背景加相框,如何把一张照片修边或美化加框多种风格 使之与另外的背景溶合...
  5. (已解决)关于 WARNING: Ignoring invalid distribution -pencv-python .... 警告信息的处理方法
  6. python中while not循环_Python学习-while循环逻辑运算符
  7. 【发布】iOS百度贴吧助手1.0
  8. mac美服lol怎么设置中文?英雄联盟mac版美服汉化?来看!
  9. 项目组使用的PKI技术采用双密钥、双证书机制,请简述双密钥证书的生成过程。...
  10. Effect Exporter:一款 2D3D 特效编辑器插件,专为 Cocos Creator 深度定制