安卓 toast_安卓toast使用

安卓 toast_安卓toast使用概述一个toast是在屏幕上弹出一条信息,它的大小总是包裹着需要显示的内容,并且当前的Activity依然是可见并且可互动的。toast会自动消失,并且不接受任何互动事件。因为toast可以在后台的 Service 中创建,所以即使这个应用程序没有显示在屏幕上,仍然可以弹出toast.toast最好用来显示简要的信息,比如断定用户正在注意屏幕时,弹出”Fil

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

概述

一个 toast 是在屏幕上弹出一条信息,它的大小总是包裹着需要显示的内容,并且当前的 Activity 依然是可见并且可互动的。toast会自动消失,并且不接受任何互动事件。因为 toast 可以在后台的 Service 中创建,所以即使这个应用程序没有显示在屏幕上,仍然可以弹出 toast.

toast 最好用来显示简要的信息,比如断定用户正在注意屏幕时,弹出”File saved”. toast 不能接受任何用户互动事件,如果需要用户响应并采取操作,考虑使用 状态栏通知 来替代.。

基本使用

首先,用
makeText()
方法实例化一个
Toast
对象。该方法需要三个参数:当前应用的
Context
,文本消息,和toast的持续时间。该方法返回一个实例化过的Toast对象。你可以用
show()
方法将该toast通知显示出来:

   
   
   
Toast.makeText(ToastActivity.this, "默认提示", Toast.LENGTH_SHORT).show();

指定显示位置

默认的,我们的toast提示是显示在底部正中间。我们还可以自己指定位置。通过
setGravity
   
   
   
toast.setGravity(Gravity.TOP | Gravity.LEFT, 0, 0);

追加图片

默认toast只显示一个文本框,我们还可以追加图片或其他view进去
   
   
   
LinearLayout linearLayout = (LinearLayout) toast.getView();
ImageView imageView = new ImageView(ToastActivity.this);
imageView.setImageResource(R.mipmap.ic_launcher);
linearLayout.addView(imageView);

首先,我们通过getView获得该toast的布局。之后,我们向布局中添加我们的布局,这里,我们添加一个简单的视图。

自定义布局

通常情况下,默认的布局很难满足我们的需求,在toast中也可以使用自定义布局。
   
   
   
View view1 = LayoutInflater.from(ToastActivity.this).inflate(R.layout.layout_toast, null);
toast.setView(view1);

使用inflate从xml文件中加载我们定义的布局,然后应用到toast上,xml布局如下:
   
   
   
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="match_parent"
android:layout_height="match_parent">
 
<ImageView
android:src="@drawable/qq_background"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/imageView"
android:layout_gravity="center_horizontal" />
 
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="show_text"
android:id="@+id/textView"
android:layout_gravity="center_horizontal" />
</LinearLayout>

在线程中使用

根据安卓编程规范,我们不能再会UI线程中更改UI界面。toast是一个ui,因此,我们只有使用
runOnUiThread来显示我们的信息
   
   
   
runOnUiThread(new Runnable() {
@Override
public void run() {
Toast toast = Toast.makeText(ToastActivity.this, "线程中提示", Toast.LENGTH_SHORT);
toast.show();
}
});



















版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/194554.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • java tess4j ddl_使用Tess4J碰到的各路问题

    java tess4j ddl_使用Tess4J碰到的各路问题背景:项目需要扫描识别技术,比较了微软(智能识别技术)和谷歌的(Tess4J),决定使用这个开源的东东。建议:1、可以到GitHub找相关的Tess4J项目一、项目结构:使用eclipse构建java项目,下图为项目结构构建TestTess4j.java,(勾选作为main函数)publicclassTestTess4j{publicstaticvoidmain(Stringarg…

    2022年6月8日
    64
  • Python爬虫入门教程 1-100 CentOS环境安装[通俗易懂]

    Python爬虫入门教程 1-100 CentOS环境安装[通俗易懂]你好,当你打开这个文档的时候,我知道,你想要的是什么!Python爬虫,如何快速的学会Python爬虫,是你最期待的事情,可是这个事情应该没有想象中的那么容易,况且你的编程底子还不一定好,这套课程,没有你想要的Python基础,没有变量,循环,数组等基础知识,因为我不想在那些你可以直接快速学会的地方,去浪费你的时间。好了,这套课程是基于Python3.0以上写的,操作系统我使用的是…

    2022年6月20日
    23
  • leetcode-55跳跃游戏[通俗易懂]

    leetcode-55跳跃游戏[通俗易懂]给定一个非负整数数组 nums ,你最初位于数组的 第一个下标 。数组中的每个元素代表你在该位置可以跳跃的最大长度。判断你是否能够到达最后一个下标。示例 1:输入:nums = [2,3,1,1,4]输出:true解释:可以先跳 1 步,从下标 0 到达下标 1, 然后再从下标 1 跳 3 步到达最后一个下标。示例 2:输入:nums = [3,2,1,0,4]输出:false解释:无论怎样,总会到达下标为 3 的位置。但该下标的最大跳跃长度是 0 , 所以永远不可能到达最后一个下标

    2022年8月9日
    5
  • USB设备驱动程序开发框架[通俗易懂]

    USB设备驱动程序开发框架[通俗易懂]USB设备驱动程序开发框架USB设备驱动程序开发框架的源代码文件文件名说明Driver.h驱动程序头文件DrvInit.c入口例程和卸载例程DrvPnp.c即插即用例程DrvDispatch.c分发例程DrvPowe

    2022年8月30日
    1
  • Maven安装与配置,Idea配置Maven

    Maven安装与配置,Idea配置Maven一、安装本地Maven官网下载传送门1.我使用的是3.6.1版本maven-3.6.1-bin.zip二、安装把下载好的maven压缩包解压到一个没有中文,空格或其他特殊字符的文件夹,如:三、配置环境变量1.右键此电脑->属性->高级系统设置->环境变量2.新建变量MAVEN_HOME3.编辑变量Path,添加变量值%MAVEN_HOME%\bin%MAVEN_HOME%\bin4.验证安装是否成功,win+R运行cmd,输入mvn-v,如图所示则配置成

    2022年8月22日
    5
  • anaconda与pycharm的关系、安装「建议收藏」

    anaconda与pycharm的关系、安装「建议收藏」一、anaconda和pycharm的关系anaconda和miniconda的介绍Anaconda:是一个打包的集合,它里面预装好了conda、某个版本的python、众多packages、科学计算工具等等,就是把很多常用的不常用的库都给你装好了,并且在安装一个库时会询问是否安装与该库相关联的库,它将库之间的关系理的非常清楚,为用户提供极大的便利。Miniconda,顾名思义,它只包含最基本的内容——python与conda,以及相关的必须依赖项,对于空间要求严格的用户,Miniconda是一种

    2022年8月25日
    4

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号