安卓 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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • idea最新激活码-激活码分享

    (idea最新激活码)本文适用于JetBrains家族所有ide,包括IntelliJidea,phpstorm,webstorm,pycharm,datagrip等。IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.net/100143.html…

    2022年3月22日
  • Idea激活码永久有效Idea2020.1.3激活码教程-持续更新,一步到位

    Idea激活码永久有效Idea2020.1.3激活码教程-持续更新,一步到位Idea激活码永久有效2020.1.3激活码教程-Windows版永久激活-持续更新,Idea激活码2020.1.3成功激活

    2022年6月17日
  • 铸博皇御:贵金属技术分析基础入门知识「建议收藏」

    铸博皇御:贵金属技术分析基础入门知识「建议收藏」 在贵金属投资市场上,或许有很多投资者表示贵金属技术分析很难理解。特别是刚入门的新手,可能一开始对其并不容易理解,其实这可以理性地看待。贵金属技术分析是根据历史数据,以及开盘价、收盘价、最高价、最低价,利用数学统计的方法来进行综合统计计算。  一般进行分析时需要抛弃主观观念,客观地去分析价格的走向。虽然它不能够左右价格走向,但是可以由价格决定它的趋势走向。所以能不能学好贵金属技术分析,是多方面作用的结果。但需要提醒大家的是:用贵金属技术分析法,只能分析它的趋势,意味着不能完全依赖技术分析来行情作为决策重

    2022年5月28日
  • @[TOC](CDN防御与高防服务器防御的区别

    @[TOC](CDN防御与高防服务器防御的区别(CDN防御与高防服务器防御的区别#市面上的网络防御工具有许多,其中大部分中使用的是CDN防御和高防服务器防御,那我们首先来了解CDN防御和高防服务器防御有什么区别。市面上的网络防御工具有许多,其中大部分中使用的是CDN防御和高防服务器防御,那我们首先来了解CDN防御和高防服务器防御有什么区别。CDN防御的全称是ContentDeliveryNetworkDefense,即内容分流网络…

    2022年7月15日
  • 移动三国己然鼎立,普​通开发者如何选择开发​平台?

    移动三国己然鼎立,普​通开发者如何选择开发​平台?

    2021年8月13日
  • linux卸载命令_centos卸载jdk

    linux卸载命令_centos卸载jdk#1.查看目前通过rpm安装的jdk版本rpm-qa|grepjdkrpm-qa|grepgcj#2.得到的结果如下:jdk-1.7.0_80-fcs.x86_64libgcj-4.4.7-3.el6.x86_64#3.执行如下命令卸载jdkrpm-e–nodepslibgcj-4.4.7-3.el6.x86_64或rpm-e–nodepsjdk-1.7.0_80-fcs.x86_64…

    2022年10月1日

发表回复

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

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