简要说明  

  Toast是一种没有交点,显示时间有限,不能与用户进行交互,用于显示提示信息的显示机制,我们可以把它叫做提示框。Toast不依赖 于Activity,也就是说,没有Activity,依然可以使用Toast。
   Android的四大组件:Activity, Service, Broadcast Receiver, Contet
Provider,都是继承Context的(Context,现在大家称之为上下文,之前又被翻译为句柄),包括整个Application也是继承于Context的。Toast就是依赖于应用程序Application的Context。

项目结构

aaarticlea/png;base64,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" alt="" />

代码实现

  • MainActivity.java:
package com.example.linux.customtoasttest;

import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.Gravity;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.TextView;
import android.widget.Toast; /**
* writer: 胡红翔
* function: 自定义toast,以及toast的简单使用
*/
public class MainActivity extends AppCompatActivity { @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
} // toast:位置的改变
public void toast1(View view) {
Toast toast = Toast.makeText(MainActivity.this, "toast", Toast.LENGTH_LONG);
toast.setGravity(Gravity.BOTTOM | Gravity.LEFT, 0, 0);
toast.show();
} //toast:自定义Toast
public void customToast(View view) {
LayoutInflater inflater = getLayoutInflater();
ViewGroup viewGroup = (ViewGroup) findViewById(R.id.toast_layout_root);
View layout = inflater.inflate(R.layout.toast_layout, viewGroup); TextView text = (TextView) layout.findViewById(R.id.textView);
text.setText("This is a custom toast"); Toast toast = new Toast(MainActivity.this);
toast.setGravity(Gravity.CENTER_VERTICAL, 0, 0);
toast.setDuration(Toast.LENGTH_LONG);
toast.setView(layout); // 自定义View
toast.show();
}
}
  • activity_main.xml:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
tools:context="com.example.linux.customtoasttest.MainActivity"> <TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Hello World!" /> <Button
android:text="ToastPosition"
android:onClick="toast1"
android:layout_width="wrap_content"
android:layout_height="wrap_content" /> <Button
android:text="CustomToast"
android:onClick="customToast"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
</LinearLayout>
  • toast_layout.xml:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/toast_layout_root"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="#DAAA"
android:orientation="horizontal"
android:padding="8dp"> <ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginRight="8dp"
android:src="@mipmap/ic_launcher" /> <TextView
android:id="@+id/textView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="#FFF" />
</LinearLayout>

实现原理

  • toast的makeText方法:得到一些信息,生成一个View
Toast result = new Toast(context);
LayoutInflater inflate = (LayoutInflater)context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View v = inflate.inflate(com.android.internal.R.layout.transient_notification, null);
TextView tv = (TextView)v.findViewById(com.android.internal.R.id.message);
tv.setText(text); result.mNextView = v;
result.mDuration = duration; return result;
  • toast的show方法:这个比较难,表示没怎么看懂,后续再做补充。大概的是add(view)让上述view显示,开启了一个线程不断轮询(估计是duration),启动了一个通知服务。
// 窗口管理类
mWM = (WindowManager)context.getSystemService(Context.WINDOW_SERVICE);
......
mWM.addView(mView, mParams);
// 绑定事件
trySendAccessibilityEvent();

友情链接

android基础---->Toast的使用的更多相关文章

  1. Android基础工具类重构系列一Toast

    前言: 一直在考虑写一下Android实际项目中的一些总结,翻看CSDN博客,上一篇已经是一年多曾经. 本系列定位Android基础工具类重构.旨在记录实际项目中经经常使用到的一些工具类,比方Toas ...

  2. <Android 基础(十六)> Toast

    介绍 A toast provides simple feedback about an operation in a small popup. It only fills the amount of ...

  3. 基础4 Android基础

    基础4 Android基础 1. Activity与Fragment的生命周期. Activity生命周期 打开应用 onCreate()->onStart()->onResume 按BA ...

  4. 【Android基础】listview控件的使用(3)------Map与SimpleAdapter组成的多显示条目的Listview

    前面介绍的两种listview的使用都是最基础的,所以有很大的局限性,比如只能在一个item(即每一行的条目)中显示一个文本信息,这一篇我将介绍Map与SimpleAdapter组成的多显示条目的Li ...

  5. Android开发Toast Notifications

    Android开发Toast Notifications 关键类 Toast toast通知是一种在窗口表面弹出的消息.它只占用信息显示所需的空间,用户当前的activity仍保持可见并可交互.该通知 ...

  6. 安卓四大组件之Sevice组件的简单使用 --Android基础

    1.本例实现了简单的Service(服务)的创建.启动和停止,点击“启动SERVICE”页面会显示“服务被创建”,接着是“服务被启动”.点击“停止SERVICE”页面提示“服务被停止”.太过基础,直接 ...

  7. android基础---->AIDL服务的使用

    AIDL和其他的IDL类似,它允许你定义程序接口,以便客户端与服务器端通过IPC机制交互.在android上面,一个进程一般不能访问另外进程的内存.因此,Android平台将这些跨进程访问的对象分解成 ...

  8. Android基础新手教程——3.1 基于监听的事件处理机制

    Android基础新手教程--3.1.1 基于监听的事件处理机制 标签(空格分隔): Android基础新手教程 本节引言: 第二章我们学习的是Android的UI控件,我们能够利用这些控件构成一个精 ...

  9. Android基础新手教程——4.1.2 Activity初窥门径

    Android基础新手教程--4.1.2 Activity初窥门径 标签(空格分隔): Android基础新手教程 本节引言: 上一节中我们对Activity一些主要的概念进行了了解,什么是Activ ...

随机推荐

  1. 《逆袭团队》第九次团队作业【Beta】Scrum meeting 2

    项目 内容 软件工程 任课教师博客主页链接 作业链接地址 团队作业9:Beta冲刺与团队项目验收 团队名称 逆袭团队 具体目标 (1)掌握软件黑盒测试技术:(2)学会编制软件项目总结PPT.项目验收报 ...

  2. HBase的二级索引

    使用HBase存储中国好声音数据的案例,业务描述如下: 为了能高效的查询到我们需要的数据,我们在RowKey的设计上下了不少功夫,因为过滤RowKey或者根据RowKey查询数据的效率是最高的,我们的 ...

  3. OLED液晶屏幕(4)串口读取文字并分割,液晶屏幕显示

    ESP8266-07 0.93存 液晶屏 128*64  驱动芯片 ssd1306 接线 VCC-5v GND-GND SCL-D1(SCL) SDA-D2(SDA) 安装两个库 #include & ...

  4. LeetCode 1039. Minimum Score Triangulation of Polygon

    原题链接在这里:https://leetcode.com/problems/minimum-score-triangulation-of-polygon/ 题目: Given N, consider ...

  5. 【转载】Visual Studio(VS) F12 查看DLL源代码

    https://www.cnblogs.com/zhaoqingqing/p/6751757.html esharper官网:https://www.jetbrains.com/resharper/ ...

  6. 机器学习---逻辑回归(二)(Machine Learning Logistic Regression II)

    在<机器学习---逻辑回归(一)(Machine Learning Logistic Regression I)>一文中,我们讨论了如何用逻辑回归解决二分类问题以及逻辑回归算法的本质.现在 ...

  7. 详解匿名内部类 ,形参为什么要用final

    一.使用匿名内部类内部类 匿名内部类由于没有名字,所以它的创建方式有点儿奇怪.创建格式如下: new 父类构造器(参数列表)|实现接口() { //匿名内部类的类体部分 } 在这里我们看到使用匿名内部 ...

  8. 深搜的剪枝技巧(三)——Sticks(可行性剪枝、上下界剪枝、最优性剪枝)

    小木棍(最优性剪枝.可行性剪枝) 一.问题描述 乔治有一些同样长的小木棍,他把这些木棍随意砍成几段,已知每段的长都不超过 50 .现在,他想把小木棍拼接成原来的样子,但是却忘记了自己开始时有多少根木棍 ...

  9. Win10远程连接自己的电脑提示“登陆没有成功”的解决方案

    问题:提示登录没有成功 猜想: 1)要么是账号密码输入错误,必须是系统的用户名.密码 2)要么是配置问题,配置解决如下: 1.开启允许访问远程 找到此电脑-右键属性-高级系统设置-远程-勾选允许远程连 ...

  10. 文档流&浮动&定位

    文档流指元素在文档中的位置由元素在html里的位置决定,块级元素独占一行,自上而下排列:内联元素从左到右排列脱离文档流的方式: 浮动,通过设置float属性 绝对定位,通过设置position:abs ...