信息提醒之Toast-更新中

简介: 信息提醒之Toast-更新中

概述


Toast与对话框类似,也会在屏幕的某个位置弹出一个窗口,在窗口中可以显示文本、图片等信息

与对话框不同的是,Toast信息提示框不可获得焦点,而且在显示一定的时间后会自动关闭。

因此,再显示Toast信息提示框的同时,屏幕上的控件仍然可以继续操作。


Toast的基本用法


显示Toast需要使用android.widget.Toast类。


只显示文本的Toast


如果只是显示文本的话,可以用如下代码


Toast toast = Toast.makeText(this,"文字",Toast.LENGTH_LONG);
toast.show();

分析: 上述代码使用Toast类的静态方法创建了一个Toast对象。

该方法的第二个参数是要显示的信息,

第三个参数标识Toast提示信息显示的时间。

由于Toast没有按钮,也无法通过手机按键关闭Toast,所以只能通过显示时间的长短来控制Toast信息提示的时间自动关闭。


Toast.LENGTH_LONG , Toast.LENGTH_SHORT .


注意:在创建只显示文本的Toast对象时,建议使用Toast.makeText方法,而不要直接new Toast对象,虽然Toast类有setText方法,但是不能在使用new关键字创建Toast对象后设置Toast提示信息框的文本信息。一下代码会抛出异常

Toast toast = new Toast();
toast.setText("文字");// 此行代码会抛出异常
toast.show();

显示文本和图像的Toast- setView


image.png


 // 将布局文件转换为View
        View view = getLayoutInflater().inflate(R.layout.activity_custom_toast, null);
        // 设置提示文字
        TextView tv = (TextView) view.findViewById(R.id.textview);
        tv.setText("自定义Toast");
        // Toast展示
        Toast toast = new Toast(this);
        toast.setView(view);
        toast.setDuration(Toast.LENGTH_SHORT);
        toast.show();

activity_custom_toast.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:layout_margin="10dp"
    android:background="#9AC0CD"
    android:orientation="horizontal" >
    <ImageView
        android:layout_width="50dp"
        android:layout_height="50dp"
        android:layout_gravity="center"
        android:src="@drawable/face" />
    <TextView
        android:id="@+id/textview"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_gravity="center"
        android:layout_margin="10dp" />
</LinearLayout>


如果同时多个Toast信息提示框,系统会将这些Toast信息提示框放到队列中,等前一个Toast信息提示框关闭后会显示下一个Toast信息提示框,也就是说Toast信息提示框是按顺序显示的


用PopupWindow模拟Toast提示信息框

背景是.9的图片

image.png


  LayoutInflater inflater  = LayoutInflater.from(this);
        View view = inflater.inflate(R.layout.activity_popupwd_toast, null);
        final PopupWindow popupWindow = new PopupWindow(view,500 ,200);
        popupWindow.setTouchable(false);
        popupWindow.showAtLocation(view, Gravity.CENTER_HORIZONTAL,20 ,0);
        // 设置定时器,5秒后自动关闭
        android.os.Handler handler = new android.os.Handler();
        handler.postDelayed(new Runnable() {
            @Override
            public void run() {
                popupWindow.dismiss();
            }
        } , 5*1000);

activity_popupwd_toast.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:background="#00FFFFFF"
    android:orientation="vertical">
    <TextView
        android:id="@+id/tvMsg"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:background="@drawable/toast"
        android:text="有个定时器 设置的5秒后关闭...."
        android:textColor="#000"
        android:textSize="18sp" />
</LinearLayout>


相关文章
|
JSON JavaScript API
【开源打印组件】vue-plugin-hiprint初体验
本文介绍对vue-plugin-hiprint部分重要代码的解析,这是一个很好的开源插件,能够自己自定义打印模板,通过后端传来的数据进行渲染打印,官方也提供了许多的api供开发者使用。界面采用了antdesign。实现了免预览的直接打印。
3479 1
【开源打印组件】vue-plugin-hiprint初体验
|
4月前
|
移动开发 Android开发 容器
uniapp中使用videojs构建H5直播播放器
【10月更文挑战第14天】这两天在开发H5直播带货功能模块,使用原生的video播放器播放不了m3u8的流地址,于是找了videojs,参考了网上的一些资料研究了一下,感觉还不错,videojs播放m3u8流地址还挺稳定的,下面就简单记录一下uniapp里面使用方式
|
编解码 开发工具 Android开发
数据推送选择GB28181、RTSP还是RTMP?
国标GB/T28181协议全称《安全防范视频监控联网系统信息传输、交换、控制技术要求》,是一个定义视频联网传输和设备控制标准的白皮书,由公安部科技信息化局提出,该标准规定了城市监控报警联网系统中信息传输、交换、控制的互联结构、通信协议结构,传输、交换、控制的基本要求和安全性要求,以及控制、传输流程和协议接口等技术要求。解决了视频间互联互通,数据共享,以及设备控制的问题,这个问题从顶层解决了视频信息各自为战的问题,打通了视频联网的信息孤岛。
466 1
|
9月前
|
移动开发 小程序 前端开发
uniapp中uview组件库丰富的Table 表格的使用方法
uniapp中uview组件库丰富的Table 表格的使用方法
705 2
|
小程序 JavaScript
uniapp微信小程序关注公众号
uniapp微信小程序关注公众号
|
JSON 数据格式
Content type ‘multipart/form-data;boundary=------57031299820747271;charset=UTF-8‘ not supported的解决方案
Content type ‘multipart/form-data;boundary=------57031299820747271;charset=UTF-8‘ not supported的解决方案
365 0
|
小程序 API Android开发
微信小程序使用蓝牙通信协议连接硬件整理总结(蓝牙连接、获取设备UUID、开水器notify及关闭蓝牙)
微信小程序使用蓝牙通信协议连接硬件整理总结(蓝牙连接、获取设备UUID、开水器notify及关闭蓝牙)
3859 0
微信小程序使用蓝牙通信协议连接硬件整理总结(蓝牙连接、获取设备UUID、开水器notify及关闭蓝牙)
|
Android开发
|
机器学习/深度学习 编解码 人工智能
面向视频的全新AI架构 —— 阿里云智能视觉技术全解
我们都知道,AI技术正在以可见的速度被应用于各行各业,然而绝大部分业务场景想应用AI技术,都需要算法工程师根据自身业务的标注数据,来进行单独训练,才能打磨出合适的AI模型。如此一来,如何以最低的门槛和成本,实现AI技术落地变成了行业急需解决的问题。
8491 0
|
Android开发 数据格式 XML
Spinner(一)——修改系统自带Spinner字体大小和颜色完整示例
MainActivity如下: package cc.test; import android.app.Activity; import android.
2968 0