Toast是一种提供给用户简介信息的视图,可以创建和显示消息,该视图以浮于应用程序之上的形式呈现给用户。因为它并不获得焦点,即使用户正在输入什么也不会受到影响。

Toast目标是尽可能以不显眼的方式,使用户看到提示的信息。

运行截图:

程序结构

package com.example.asus.gary_74;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.Gravity;
import android.view.View;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.Toast; public class MainActivity extends AppCompatActivity { private Button bt1,bt2,bt3,bt4;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
bt1=(Button)findViewById(R.id.button);
bt1.setOnClickListener(new Button.OnClickListener()
{ @Override
public void onClick(View v) {
//Toast.LENGTH_SHORT 大约2秒
//Toast.LENGTH_LONG 大约3.5秒
Toast toast = Toast.makeText(MainActivity.this,"默认的Toast",Toast.LENGTH_LONG);
toast.show();
}
}); bt2=(Button)findViewById(R.id.button2);
bt2.setOnClickListener(new Button.OnClickListener() {
@Override
public void onClick(View v) {
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();
}
}); bt3=(Button)findViewById(R.id.button3);
bt3.setOnClickListener(new Button.OnClickListener(){ @Override
public void onClick(View v) {
Toast toast=Toast.makeText(getApplicationContext(), "显示带图片的toast",Toast.LENGTH_LONG);
toast.setGravity(Gravity.CENTER, 0, 0);
//创建图片视图对象
ImageView imageView= new ImageView(getApplicationContext());
//设置图片
imageView.setImageResource(android.R.drawable.ic_input_add);
//获得toast的布局
LinearLayout toastView = (LinearLayout) toast.getView();
//设置此布局为横向的
toastView.setOrientation(LinearLayout.HORIZONTAL);
//将ImageView在加入到此布局中的第一个位置
toastView.addView(imageView, 0);
toast.show();
}
}); }
}

MainActivity

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
tools:context="com.example.asus.gary_74.MainActivity"> <TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Gary_Toast!"
android:textSize="40px" /> <Button
android:id="@+id/button"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="默认显示" /> <Button
android:id="@+id/button2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="自定义位置显示" /> <Button
android:id="@+id/button3"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="带图片显示" /> </LinearLayout>

activity_main.xml

一、界面布局

  三个Button,分别显示不同的Toast提示效果

二、实现程序功能

1、显示默认的Toast消息

Toast makeText(Context context,int resId,int duration)

   context:使用的上下文,通常是Activity对象

    resId:要使用的字符串资源ID

    duration:该消息的在屏幕上停留的时间。值为LENGTH_SHORT或者LENGTH_LONG
  bt1=(Button)findViewById(R.id.button);
bt1.setOnClickListener(new Button.OnClickListener()
{ @Override
public void onClick(View v) {
//Toast.LENGTH_SHORT 大约2秒
//Toast.LENGTH_LONG 大约3.5秒
Toast toast = Toast.makeText(MainActivity.this,"默认的Toast",Toast.LENGTH_LONG);
toast.show();
}
});

2、自定义位置显示Toast消息

void setDuration(int gravity,int xOffset,int yOfset)
设置提示消息在屏幕上显示的位置
        bt2=(Button)findViewById(R.id.button2);
bt2.setOnClickListener(new Button.OnClickListener() {
@Override
public void onClick(View v) {
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消息

bt3=(Button)findViewById(R.id.button3);
bt3.setOnClickListener(new Button.OnClickListener(){ @Override
public void onClick(View v) {
Toast toast=Toast.makeText(getApplicationContext(), "显示带图片的toast",Toast.LENGTH_LONG);
toast.setGravity(Gravity.CENTER, 0, 0);
//创建图片视图对象
ImageView imageView= new ImageView(getApplicationContext());
//设置图片
imageView.setImageResource(android.R.drawable.ic_input_add);
//获得toast的布局
LinearLayout toastView = (LinearLayout) toast.getView();
//设置此布局为横向的
toastView.setOrientation(LinearLayout.HORIZONTAL);
//将ImageView在加入到此布局中的第一个位置
toastView.addView(imageView, 0);
toast.show();
}
});

传送门:消息模式Toast.make Text的几种常见用法

最新文章

  1. Git命令汇总
  2. Java暗箱操作之for-each
  3. WCF创建RESTService
  4. Java之内存诊断
  5. lightoj 1074 spfa判断负环
  6. iOS开发UI篇—Quartz2D使用(绘制基本图形)
  7. 【SpringMVC】SpringMVC系列1之HelloWorld
  8. 【Log4j】 log4j.properties 使用
  9. JDialog窗体
  10. 关于spring-mvc的InitBinder注解的参数
  11. [CLR via C#]5.2 引用类型和值类型
  12. [ An Ac a Day ^_^ ] [kuangbin带你飞]专题五 并查集 POJ 2236 Wireless Network
  13. (四十三)UITabBarController和AppDelegate的一些细节
  14. openoffice转换pdf 异常问题查找处理 errorCode 525
  15. #0 scrapy爬虫学习中遇到的坑记录
  16. Android udp json+数组 ---&gt;bytes发送数据
  17. 【分享】Vue 资源典藏(UI组件、开发框架、服务端、辅助工具、应用实例、Demo示例)
  18. Kubernetes实战(一):k8s v1.11.x v1.12.x 高可用安装
  19. Nginx rewrite模块深入浅出详解
  20. 【转】IAR for STM8介绍、下载、安装与注册

热门文章

  1. Python(八) —— 异常(概念、捕获、传递、抛出)
  2. C# 使用Emit实现动态AOP框架 进阶篇之优化
  3. Pycharm 加载pygame解决方案
  4. 无障碍开发(六)之ARIA在HTML中的使用规则
  5. DPI,像素,英寸的关系
  6. 【Swift后台】目录
  7. yii2-cache组件第三个参数Dependency $dependency的作用浅析
  8. jquery 取指定class下的input checkbox选中的值
  9. Hadoop_08_客户端向HDFS读写(上传)数据流程
  10. ngnix 配置说明