Android开发中Toast显示消息的方法小结
作者:pku_android 发布时间:2023-07-31 20:29:14
标签:Android,Toast
本文实例总结了Android开发中Toast显示消息的方法。分享给大家供大家参考,具体如下:
Android中提供一种简单的Toast消息提示框机制,可以在用户点击了某些按钮后,提示用户一些信息,提示的信息不能被用户点击,Toast的提示信息根据用户设置的显示时间后自动消失。Toast的提示信息可以在调试程序的时候方便的显示某些想显示的东西。
两种方法创建Toast
第一种方法的Java代码:
makeText(Context context, int resId, int duration)
参数:context是toast显示在哪个上下文,通常是当前Activity;resId指显示内容引用Resouce那条数据,就是从R类中去指定显示的消息内容;duration指定显示时间,Toast默认有LENGTH_SHORT和LENGTH_LONG两常量,分别表示短时间显示和长时间显示。
第二种方法的Java代码:
makeText(Context context, CharSequence text, int duration)
参数context和duration与第一个方法相同,参数text可以自己写消息内容。
用上面任意方法创建Toast对象之后调用方法show()即可显示。
Toast toast = Toast.makeText(ToastDemoActivity.this, "这是一个普通的Toast!", Toast.LENGTH_SHORT);
toast.show();
设置Toast显示位置
两种方法方法可以设置显示位置:
方法一:
setGravity(int gravity, int xOffset, int yOffset)
三个参数分别表示(起点位置,水平向右位移,垂直向下位移)
方法二:
setMargin(float horizontalMargin, float verticalMargin)
以横向和纵向的百分比设置显示位置,参数均为float类型(水平位移正右负左,竖直位移正上负下)
// 设置Toast显示位置(起点位置,水平向右位移,垂直向下位移)
toast.setGravity(Gravity.TOP | Gravity.LEFT, 0, 200);
// Toast显示位置,以横向和纵向的百分比计算,参数均为float类型(水平位移正右负左,竖直位移正上负下)
toast.setMargin(-0.5f, 0f);
自定义Toast
下面这段代码可以显示一个带图片的Toast效果:
// 带图片的Toast
Button btn2 = (Button) findViewById(R.id.toast2);
btn2.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
// 定义一个Toast
Toast toast = Toast.makeText(ToastDemoActivity.this, "这是一个代图片的Toast!", Toast.LENGTH_LONG);
// 定义一个ImageView
ImageView imageView = new ImageView(ToastDemoActivity.this);
imageView.setImageResource(R.drawable.icon);
// 获得Toast的View
View toastView = toast.getView();
// 定义一个Layout,这里是Layout
LinearLayoutlinear Layout = new LinearLayout(ToastDemoActivity.this);
linearLayout.setOrientation(LinearLayout.HORIZONTAL);
// 将ImageView和ToastView合并到Layout中
linearLayout.addView(imageView);
linearLayout.addView(toastView);
// 替换掉原有的ToastView
toast.setView(linearLayout);
toast.show();
}
});
希望本文所述对大家Android程序设计有所帮助。
0
投稿
猜你喜欢
- 接收JSON浏览器传来的参数,可以是 key/value 形式的,也可以是一个 JSON 字符串。在 Jsp/Servlet 中,我们接收
- 为什么要写这篇文章经过了若干年的发展,Java逐步从java8升级为java11,java17。让我们对比学习一下最新一版的LTS版本和ja
- 1、需要引入依赖<dependency> &l
- 前言开发中,免不了会用到多边形、多角星等图案,比较常用的多边形比如雷达图、多角星比如评价星级的五角星等,本篇文章就使用Flutter绘制封装
- 实践过程效果代码public partial class Form1 : Form{ public Form1()
- 1.最近的项目中,有一个Activity用到Fragment+ViewPager,其中一个fragment中实现了视频播放的功能,包含有Su
- 具体代码如下所示:***web.xml***<?xml version="1.0" encoding="
- 前言在java Thread类中,我们会看到interrupt()、interrupted()及isInterrupted(),在大多数情况
- 声明:下面的实例全部在linux下尝试,window下未尝试。有兴趣者可以试一下。文章针c初学者。c语言的强符号和弱符号是c初学者经常容易犯
- tcp客户端示例#include <errno.h> #include <sys/socket.h> #includ
- 摘要:这个问题算是老生常谈了,我也是一段时间没弄过了,所以感觉有些忘了,就记录一下。一、后端通过shiro在session中存储数据://
- 【程序1】题目:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?1.程序分析:可填在百位、十位、个位的数字都是1
- 一. 线性表中的顺序表线性表(linear list)是n个具有相同特性的数据元素的有限序列。 线性表是一种在实际中广泛使用的数据结构,常见
- 前言本文将实现一个MyBatis的Springboot的Starter包,引用这个Starter包后,仅需要提供少量配置信息,就能够完成My
- 仅供学习交流,禁止商业用途。如侵害利益,联系必删!前言最近一位小伙伴钟爱二次元文化,于是找到半次元这个app,但是很快他就遇到了问题。一、案
- 最近项目中要做一个带进度条的上传文件的功能,学习了AsyncTask,使用起来比较方便,将几个方法实现就行,另外做了一个很简单的demo,希
- 背景今天面试字节算法岗时被问到的问题,让我用C++实现一个softmax函数。softmax是逻辑回归在多分类问题上的推广。大概的公式如下:
- 本文实例讲述了Android编程实现WebView添加进度条的方法。分享给大家供大家参考,具体如下:标准的XML界面<?xml ver
- 最近项目中需要实现定时执行任务,比如定时计算会员的积分、调用第三方接口等,由于项目采用spring框架,所以这里结合spring框架来介绍。
- 前言前面介绍了APP顶部导航栏AppBar,今天来介绍下Flutter实现APP底部导航栏。我们以仿写微信的底部导航栏来举例说明。要实现类似