Android编程之Toast官方使用说明译文
以下来自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官方使用说明译文相关推荐
- Android的onDestroy方法,Android编程之Activity中onDestroy()调用分析
本文分析了Android编程之Activity中onDestroy()调用方法.分享给大家供大家参考,具体如下: 刚刚一个BUG让我发现,如果 activity 实现了一个回调接口,然后使用 this ...
- android include 点击事件,Android编程之include文件的使用方法
本文实例分析了Android编程之include文件的使用方法.分享给大家供大家参考,具体如下: 记得很久以前,听一位大神说,程序员都很懒,不懒惰的程序员不是好程序员,当时不明白什么意思.后来慢慢的懂 ...
- android surface编程,Android编程之SurfaceView实例详解
本文实例讲述了Android编程之SurfaceView用法.分享给大家供大家参考,具体如下: 关于surfaceView相关知识: View和SurfaceView主要区别: 1. View只能在U ...
- Android编程之SparseArrayE详解
Android编程之SparseArrayE详解
Android编程之SparseArray<E>详解 分类:Android2012-09-01 13:139412人阅读评论(5)收藏举报 android编程delete存储list 最近 ...
- android datepicker 监听,Android编程之DatePicker和TimePicke简单时间监听用法分析
本文实例讲述了Android编程之DatePicker和TimePicke简单时间监听用法.分享给大家供大家参考,具体如下: DatePicker和TimePicker都是从FrameLayout派生 ...
- android 过滤英文字符,Android编程之TextView的字符过滤功能分析
本文实例分析了Android编程之TextView的字符过滤功能.分享给大家供大家参考,具体如下: TextView可以设置接受各式各样的字符,通过过滤指定的字符来满足不同应用的输入和显示要求. 通过 ...
- 基于sqlite的android数据库编程,Android编程之SQLite数据库操作方法详解
Android编程之SQLite数据库操作方法详解 发布时间:2020-09-07 12:33:04 来源:脚本之家 阅读:85 作者:低调小一 本文实例讲述了Android SQLite数据库操作方 ...
- android application 全局变量 空指针,Android编程之Application设置全局变量及传值用法实例分析...
本文实例讲述了Android编程之Application设置全局变量及传值用法.分享给大家供大家参考,具体如下: /** * 重写Application,主要重写里面的onCreate方法,就是创建的 ...
- android的sdk离线安装详细教程,Android编程之SDK安装组件的离线安装方法分享
本文实例讲述了Android编程之SDK安装组件的离线安装方法.分享给大家供大家参考,具体如下: 这次安装在Android开发环境搭建及配置phoneGap中,搜到了一下资料,留个备份. 一.迅雷下载 ...
最新文章
- 使 Framework 2.0 的程序集不用安装 Framework 就可以运行的工具免费发布了
- Netty之Bootstrap详解
- linux重新开始学习
- 电脑常用良心软件推荐!!!
- matlab遗传算法多配送中心路径优化(带时间窗)【matlab优化算法】
- maxscale的causal_reads参数
- 在 Laravel 项目中使用 Elasticsearch 做引擎,scout 全文搜索(小白出品, 绝对白话)
- Java去除中英文标点符号
- ps图层新建 ,合并可见图层 ,盖印图层
- Android推送技术总结
- Nginx Web 基础入门
- 如何评价B端产品经理的能力
- 不堪回首的真实往事:我和一个骗子网友的两年矛盾纠葛
- Java Web 后台中餐饮业报表系统开发实例
- 电子商务 实训三:电子商店策划实训
- vue开发的微信服务号H5内嵌的腾讯地图和导航
- 知乎精选:如何提高团队凝聚力和执行力 (转)
- Paragon Partition Manager 9.0 Professional管理磁盘分区
- uni-app常用组件
- 用devc++表白_表白 | 回复4.14号表白32,我也是个乒乓球初学者,可以约球玩玩咩...
热门文章
- ERROR 1130: Host ’...′ is not allowed to connect to this MySQL server
- Flex 布局实例教程
- Android studio 升级指定dradle
- 安全上下文以及FACL
- 【JS】引用类型之RegExp
- practice:如何使用2008R2上的AD管理中心
- WINDOWS是如何在注册表里记录盘符分配的
- C# 创建Excel并写入内容
- springboot 使用webflux响应式开发教程(二)
- 使用Travis-CI 与 Github Webhook自动部署你的页面