介绍

本篇带来的是: Android用于提示信息的一个控件——Toast(吐司)!Toast是一种很方便的消息提示框,会在 屏幕中显示一个消息提示框,没任何按钮,也不会获得焦点一段时间过后自动消失! 非常常用!我们通过一个例子把Toast的使用讲透!

课程目标

我们的目标是实现2个Toast。

  1. 第一个Toast我们使用的是系统默认的样式,它显示两秒后自动消失;
  2. 第二个Toast我们使用的是自定义的样式,它在屏幕的中央显示两秒后自动消失;

toast在屏幕上的闪现会有两种Duration。

  • Toast.LENGTH_SHORT,2秒;

  • LENGTH_LONG,3点5秒;

项目结构

  • 我们会在自定义toast里使用一个图片,我们把它放在mipmap下;
  • 我们会使用一个自定义的toast,因此需要定义一个view_toast_custom.xml文件;

前端代码

view_toast_custom.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"android:id="@+id/mkToast"android:layout_width="match_parent"android:layout_height="match_parent"android:orientation="horizontal"><ImageViewandroid:id="@+id/toastBiaoQing"android:layout_width="24dp"android:layout_height="24dp"android:layout_marginLeft="10dp"android:src="@mipmap/wechat_goutou" /><TextViewandroid:id="@+id/toastMsg"android:layout_width="match_parent"android:layout_height="wrap_content"android:layout_marginLeft="10dp"android:textSize="20sp" /></LinearLayout>

activity_main.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="match_parent"android:layout_height="match_parent"android:orientation="vertical"android:padding="5dp"><Buttonandroid:id="@+id/btnShowToast"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="屏幕下部显示2秒toast" /><Buttonandroid:id="@+id/btnShowCustomToast"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="屏幕中部显示2秒自定义toast" /></LinearLayout>

后端代码

MainActivity.java

package org.mk.android.demosimpletoast;import androidx.appcompat.app.AppCompatActivity;import android.content.Context;
import android.os.Bundle;
import android.view.Gravity;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.TextView;
import android.widget.Toast;public class MainActivity extends AppCompatActivity {private Button btnShowToast;private Button btnShowCustomToast;private Context ctx;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);ctx = MainActivity.this;btnShowToast = (Button) findViewById(R.id.btnShowToast);btnShowToast.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View view) {Toast.makeText(MainActivity.this, "提示的内容", Toast.LENGTH_SHORT).show();}});btnShowCustomToast = (Button) findViewById(R.id.btnShowCustomToast);btnShowCustomToast.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View view) {midToast("这是一个自定义的toast",Toast.LENGTH_SHORT);}});}private void midToast(String str, int showTime) {LayoutInflater inflater = getLayoutInflater();View view = inflater.inflate(R.layout.view_toast_custom, (ViewGroup) findViewById(R.id.mkToast));ImageView img_logo = (ImageView) view.findViewById(R.id.toastBiaoQing);TextView tv_msg = (TextView) view.findViewById(R.id.toastMsg);tv_msg.setText(str);Toast toast = new Toast(ctx);toast.setGravity(Gravity.CENTER, 0, 0);toast.setDuration(Toast.LENGTH_LONG);toast.setView(view);toast.show();}
}

动手试试吧。

Android入门第30天-Android里的Toast的使用相关推荐

  1. Android入门第18天-Android里的SeekBar的使用

    SeekBar的介绍 SeekingBar是这么样的一个东西,它常常用在播放视频.音步时用来调节音量.模糊阀值等场景. SeekBar里怎么是通过:android:layout_weight=&quo ...

  2. Android入门第19天-Android里的RatingBar的使用

    介绍 我们先来看一下什么叫RatingBar长什么样的. 我们很多时候订单评价给5星.打车评价都是用的这个RatingBar.本节我们学的这个RatingBar(星级评分条)其实在使用上是非常简单的, ...

  3. Android入门第31天-Android里的ViewFlipper翻转视图的使用

    介绍 本篇给大家带了的是ViewFlipper,它是Android自带的一个多页面管理控件,且可以自动播放! 和ViewPager不同,ViewPager是一页页的,而ViewFlipper则是一层层 ...

  4. Android入门第20天-Android里的ScrollView的使用

    介绍 ScrollView(滚动条),它有两种"滚动条": 竖直滚动条: 水平方向上的滚动条:HorizontalScrollView: 我们经常可以看到在手机里正在垂直加载一堆的 ...

  5. Android入门第41天-Android中的Service(bindService)

    介绍 在前一天我们介绍了Android中有两种启动Service的方法.并擅述了startService和bindService的区别.同时我们着重讲了startService. 因此今天我们就来讲b ...

  6. Android入门第1天-Android Studio的安装

    安装前的准备 在hosts文件中加入dl.google.com的ip映射 Android Studio在安装时大量的依赖库会从dl.google.com下载.在国内安装步骤卡死基本都是卡死在该步.那么 ...

  7. Android入门第9天-Android读本地JSON文件并显示

    Android在大都情况会取得后台Service返回的json数据来做前端展示.那么Android是如何处理json文件的呢?我们就一起跟着今天的教程一步步来实现吧. 目标 设本地有一个demo.js ...

  8. Android入门第35天-Android里的SubMenu

    简介 我们延用在上一篇Menu篇里的例子,把这个ContextMenu里套一层子菜单. 其实,它的原理很简单. 就是在ContextMenu的:public void onCreateContextM ...

  9. Android入门第2天-Android Studio中新建项目

    本章要完成的目标 创建新工程: 设置Gradle镜像: 先讲一下Android Studio工具的使用常识 Android Studio是一款基于IDE的Android开发工具,为目前市面最标准And ...

最新文章

  1. 关于group by 和having(数据库)
  2. codeblocks c++ 编译出错
  3. c语言课后题2.52.8答案,C语言练习题(8)-只要答案不要分析,要速度,要正确51.(1 爱问知识人...
  4. wxWidgets:wxLogNull类用法
  5. 【阿里云MPS】Demo
  6. 从零开始学习docker(二十一)service管理
  7. session图片验证码,页面和请求是两个地址。android手机好用,iphone 失效。
  8. sublime-text-3设置输入中文方法
  9. P4313-文理分科【最小割】
  10. Android 底部导航 UI框架
  11. 【Python】Matplotlib绘制三维散点图
  12. micropython开发idethonny_Thonny 3.0 首个稳定版发布,一个面向初学者的 Python IDE
  13. android不同机型编译不同so,如何使用adb命令查看android中的数据库
  14. 小米MIXAlpha将首发1亿像素传感器:1/1.33英寸大底业内无敌
  15. 查看linux系统软件各种版本环境
  16. RabbitMQ的web界面解析
  17. OpenGL——颜色混合 glBlendFunc函数
  18. App开发流程之图像处理工具类
  19. react.js 原生文字下划线标注功能开发
  20. 随缘刷题算法学习笔记

热门文章

  1. 自学笔记:linux
  2. c++Date(日期)类方法实现日期计算器
  3. Android Binder机制总结
  4. 文件被后台程序占用无法删除_Windows系统中,教你彻底删除C盘的顽固文件,瞬间多出10个G!...
  5. 【数模】典型相关分析
  6. 一款数据库合并工具的中文版更新
  7. java jdom_java使用Jdom实现xml文件写入操作实例
  8. PS1060L-ASEMI低压降肖特基二极管PS1060L
  9. 台式计算机的CPU上安装有小风扇,台式电脑cpu风扇安装教程
  10. 2022年工业软件行业报告:激光加工体系之脑,产业链盈利效率之巅