以下来自android官方Toast使用说明的译文

toast是一种简单到弹出反馈操作。它只占用了消息所需要的空间大小,并在当前activity显示和互动。例如,当你退出正在编写email之前,会提示一个“草稿已保存”的toast来告知你可以稍后继续编辑。Toast会在一段时间后自动消失。

首先,通过Toast中的makeText()方法创建一个Toast对象。这个方法有三个参数:Context,消息文字,显示的时间长短。然后,通过show()让其显示出来:

Context context = getApplicationContext();
CharSequence text = "Hello toast!";
int duration = Toast.LENGTH_SHORT;
Toast toast = Toast.makeText(context, text, duration);
toast.show();

标准的toast会出现在屏幕底部水平中间的位置上,你也可以调用setGravity(int,int,int)改变其显示的位置。这里的三个参数,分别表示:Gravity,x方向偏移,y方向偏移。

例如:如果你定义toast显示在左上角,那么,你可以这样写:

toast.setGravity(Gravity.TOP|Gravity.LEFT, 0, 0);

如果你想让其位置往右一些,你可以增加第二个参数的值,同理,向下调时,增加最后一个参数的值。

如果这样一个简单的消息不能让你满意,你还可以创建一个自己定义的布局。需要定义一个视图,可以是xml,也可以是代码的,然后调用setView(View)设置布局。

例如:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"              android:id="@+id/toast_layout_root"android:orientation="horizontal"android:layout_width="fill_parent"android:layout_height="fill_parent"android:padding="8dp"android:background="#DAAA"><ImageView android:src="@drawable/droid"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_marginRight="8dp"/><TextView android:id="@+id/text"android:layout_width="wrap_content"android:layout_height="wrap_content"android:textColor="#FFF"/>
</LinearLayout>

代码:

LayoutInflater inflater = getLayoutInflater();
View layout = inflater.inflate(R.layout.custom_toast,(ViewGroup) findViewById(R.id.toast_layout_root));
TextView text = (TextView) layout.findViewById(R.id.text);
text.setText("This is a custom toast");
Toast toast = new Toast(getApplicationContext());
toast.setGravity(Gravity.CENTER_VERTICAL, 0, 0);
toast.setDuration(Toast.LENGTH_LONG);
toast.setView(layout);
toast.show();

首先,调用getLayoutInflater()(或者getSystemService())方法取出LayoutInflater,然后使用inflate(int,ViewGroup)填充布局:第一个布局是layout的ID,第二个是根视图。你可以使用填充布局得到更多的内部视图,得到例如ImageView和TextView元素。最后,通过Toast(Context)创建一个对象,再设置显示位置、显示时间长短,然后调用setView(View)。现在,你可以调用show()让自定义的布局样式显示出来。

注意:不要使用公开的构造方法,除非你需要自定义视图。如果不使用特别布局的话,你应该使用makeText(Context,int,int)来创建Toast。

Android编程之Toast官方使用说明译文相关推荐

  1. Android的onDestroy方法,Android编程之Activity中onDestroy()调用分析

    本文分析了Android编程之Activity中onDestroy()调用方法.分享给大家供大家参考,具体如下: 刚刚一个BUG让我发现,如果 activity 实现了一个回调接口,然后使用 this ...

  2. android include 点击事件,Android编程之include文件的使用方法

    本文实例分析了Android编程之include文件的使用方法.分享给大家供大家参考,具体如下: 记得很久以前,听一位大神说,程序员都很懒,不懒惰的程序员不是好程序员,当时不明白什么意思.后来慢慢的懂 ...

  3. android surface编程,Android编程之SurfaceView实例详解

    本文实例讲述了Android编程之SurfaceView用法.分享给大家供大家参考,具体如下: 关于surfaceView相关知识: View和SurfaceView主要区别: 1. View只能在U ...

  4. Android编程之SparseArrayE详解 Android编程之SparseArrayE详解

    Android编程之SparseArray<E>详解 分类:Android2012-09-01 13:139412人阅读评论(5)收藏举报 android编程delete存储list 最近 ...

  5. android datepicker 监听,Android编程之DatePicker和TimePicke简单时间监听用法分析

    本文实例讲述了Android编程之DatePicker和TimePicke简单时间监听用法.分享给大家供大家参考,具体如下: DatePicker和TimePicker都是从FrameLayout派生 ...

  6. android 过滤英文字符,Android编程之TextView的字符过滤功能分析

    本文实例分析了Android编程之TextView的字符过滤功能.分享给大家供大家参考,具体如下: TextView可以设置接受各式各样的字符,通过过滤指定的字符来满足不同应用的输入和显示要求. 通过 ...

  7. 基于sqlite的android数据库编程,Android编程之SQLite数据库操作方法详解

    Android编程之SQLite数据库操作方法详解 发布时间:2020-09-07 12:33:04 来源:脚本之家 阅读:85 作者:低调小一 本文实例讲述了Android SQLite数据库操作方 ...

  8. android application 全局变量 空指针,Android编程之Application设置全局变量及传值用法实例分析...

    本文实例讲述了Android编程之Application设置全局变量及传值用法.分享给大家供大家参考,具体如下: /** * 重写Application,主要重写里面的onCreate方法,就是创建的 ...

  9. android的sdk离线安装详细教程,Android编程之SDK安装组件的离线安装方法分享

    本文实例讲述了Android编程之SDK安装组件的离线安装方法.分享给大家供大家参考,具体如下: 这次安装在Android开发环境搭建及配置phoneGap中,搜到了一下资料,留个备份. 一.迅雷下载 ...

最新文章

  1. 使 Framework 2.0 的程序集不用安装 Framework 就可以运行的工具免费发布了
  2. Netty之Bootstrap详解
  3. linux重新开始学习
  4. 电脑常用良心软件推荐!!!
  5. matlab遗传算法多配送中心路径优化(带时间窗)【matlab优化算法】
  6. maxscale的causal_reads参数
  7. 在 Laravel 项目中使用 Elasticsearch 做引擎,scout 全文搜索(小白出品, 绝对白话)
  8. Java去除中英文标点符号
  9. ps图层新建 ,合并可见图层 ,盖印图层
  10. Android推送技术总结
  11. Nginx Web 基础入门
  12. 如何评价B端产品经理的能力
  13. 不堪回首的真实往事:我和一个骗子网友的两年矛盾纠葛
  14. Java Web 后台中餐饮业报表系统开发实例
  15. 电子商务 实训三:电子商店策划实训
  16. vue开发的微信服务号H5内嵌的腾讯地图和导航
  17. 知乎精选:如何提高团队凝聚力和执行力 (转)
  18. Paragon Partition Manager 9.0 Professional管理磁盘分区
  19. uni-app常用组件
  20. 用devc++表白_表白 | 回复4.14号表白32,我也是个乒乓球初学者,可以约球玩玩咩...

热门文章

  1. ERROR 1130: Host ’...′ is not allowed to connect to this MySQL server
  2. Flex 布局实例教程
  3. Android studio 升级指定dradle
  4. 安全上下文以及FACL
  5. 【JS】引用类型之RegExp
  6. practice:如何使用2008R2上的AD管理中心
  7. WINDOWS是如何在注册表里记录盘符分配的
  8. C# 创建Excel并写入内容
  9. springboot 使用webflux响应式开发教程(二)
  10. 使用Travis-CI 与 Github Webhook自动部署你的页面