Android 之 Toast 的基本使用

这篇具有很好参考价值的文章主要介绍了Android 之 Toast 的基本使用。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

本节引言:

好的,终于学习完Adapter类相关的一些控件,当然除了讲解的那几个,还有其他很多的 相关的控件,就不慢慢讲解了~有需要的自行查阅文档,查看相关的用法,本节带来的是: Android用于提示信息的一个控件——Toast(吐司)!Toast是一种很方便的消息提示框,会在 屏幕中显示一个消息提示框,没任何按钮,也不会获得焦点一段时间过后自动消失! 非常常用!本节我们就来学习Toast的使用!

1.直接调用Toast类的makeText()方法创建

这是我们用的最多的一种形式了!比如点击一个按钮,然后弹出Toast,用法: Toast.makeText(MainActivity.this, "提示的内容", Toast.LENGTH_LONG).show(); 第一个是上下文对象!对二个是显示的内容!第三个是显示的时间,只有LONG和SHORT两种 会生效,即时你定义了其他的值,最后调用的还是这两个!

另外Toast是非常常用的,我们可以把这些公共的部分抽取出来,写到一个方法里! 需要显示Toast的时候直接调用这个方法就可以显示Toast,这样方便很多! 示例如下:

>

void midToast(String str, int showTime)
{
    Toast toast = Toast.makeText(global_context, str, showTime);            
    toast.setGravity(Gravity.CENTER_VERTICAL|Gravity.CENTER_HORIZONTAL , 0, 0);  //设置显示位置
    TextView v = (TextView) toast.getView().findViewById(android.R.id.message);
    v.setTextColor(Color.YELLOW);     //设置字体颜色
    toast.show();   
}

上面这个抽取出来的方法,我们发现我们可以调用setGravity设置Toast显示的位置以及获得 通过findViewById(android.R.id.message)获得显示的文本,然后进行设置颜色,或者大小等! 这就是第二种通过构造方法来定制Toast!


2.通过构造方法来定制Toast:

上面定制了文本,以及显示位置,下面我们写两个简单的例子:

1.定义一个带有图片的Toast

效果图

android toast,Android 教程,android,java,开发语言

关键代码

private void midToast(String str, int showTime)
{
    Toast toast = Toast.makeText(mContext, str, showTime);
    toast.setGravity(Gravity.CENTER_HORIZONTAL|Gravity.BOTTOM , 0, 0);  //设置显示位置
    LinearLayout layout = (LinearLayout) toast.getView();
    layout.setBackgroundColor(Color.BLUE);
    ImageView image = new ImageView(this);
    image.setImageResource(R.mipmap.ic_icon_qitao);
    layout.addView(image, 0);
    TextView v = (TextView) toast.getView().findViewById(android.R.id.message);
    v.setTextColor(Color.YELLOW);     //设置字体颜色
    toast.show();
}

2.Toast完全自定义

如果上面的那种还满足不了你的话,那么你完全可以自己写一个Toast的布局,然后显示出来; 但是时间我们依旧控制不了!

运行效果图

android toast,Android 教程,android,java,开发语言

关键代码

private void midToast(String str, int showTime)
{
    LayoutInflater inflater = getLayoutInflater();
    View view = inflater.inflate(R.layout.view_toast_custom,
            (ViewGroup) findViewById(R.id.lly_toast));
    ImageView img_logo = (ImageView) view.findViewById(R.id.img_logo);
    TextView tv_msg = (TextView) view.findViewById(R.id.tv_msg);
    tv_msg.setText(str);
    Toast toast = new Toast(mContext);
    toast.setGravity(Gravity.CENTER, 0, 0);
    toast.setDuration(Toast.LENGTH_LONG);
    toast.setView(view);
    toast.show();
}

还有自定义Toast的布局以及圆角背景:

圆角背景:bg_toast.xml

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
    <!-- 设置透明背景色 -->
    <solid android:color="#BADB66" />
    <!-- 设置一个黑色边框 -->
    <stroke
        android:width="1px"
        android:color="#FFFFFF" />
    <!-- 设置四个圆角的半径 -->
    <corners
        android:bottomLeftRadius="50px"
        android:bottomRightRadius="50px"
        android:topLeftRadius="50px"
        android:topRightRadius="50px" />
    <!-- 设置一下边距,让空间大一点 -->
    <padding
        android:bottom="5dp"
        android:left="5dp"
        android:right="5dp"
        android:top="5dp" />
</shape>  

布局文件:view_toast_custom.xml文章来源地址https://www.toymoban.com/news/detail-717144.html

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/lly_toast"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@drawable/bg_toast"
    android:orientation="horizontal">

    <ImageView
        android:id="@+id/img_logo"
        android:layout_width="24dp"
        android:layout_height="24dp"
        android:layout_marginLeft="10dp"
        android:src="@mipmap/iv_lol_icon1" />

    <TextView
        android:id="@+id/tv_msg"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginLeft="10dp"
        android:textSize="20sp" />

</LinearLayout>

到了这里,关于Android 之 Toast 的基本使用的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【常用开发工具】保姆级教程Android Studio安装和基本使用

    🔎这里是【常用开发工具】,关注我学习编程不迷路 如果对你有帮助,给博主一个免费的点赞👍以示鼓励 欢迎各位🔎点赞👍评论收藏⭐️ 👀专栏介绍 【常用开发工具】 目前更新IDEA、Tomcat、Maven、Git等预计会开10+期,大家一起学习一起进步。 📢📢有写的不好或写错的地

    2023年04月16日
    浏览(57)
  • 【Flutter】Flutter 使用 fluttertoast 实现显示 Toast 消息

    【Flutter】Flutter 使用 fluttertoast 实现显示 Toast 消息 在这篇文章中,我将与你分享如何在 Flutter 项目中使用 fluttertoast 包来显示 Toast 消息。 Toast 是一个简短的、非模态的消息提示框,它可以在应用的前端显示,不会打断用户的操作。 fluttertoast 是一个非常受欢迎的 Flutter 包,用

    2024年02月06日
    浏览(38)
  • uniapp中uview组件库Toast 消息提示 的使用方法

    目录 #基本使用 #配置toast主题 #toast结束跳转URL #API #Props #Params #Methods 此组件表现形式类似uni的 uni.showToast API,但也有不同的地方,具体表现在: uView的 toast 有5种主题可选 可以配置toast结束后,跳转相应URL 目前没有加载中的状态,请用uni的 uni.showLoading ,这个需求uni已经做得

    2024年01月20日
    浏览(59)
  • 子线程不显示Toast?

    Handler不仅在ANR过程中有用到,Toast中也用到了Handler。 代码如下: 运行安装,Logcat里面显示了异常如下: 设备是Android 7.1 系统,对应源码: /frameworks/base/core/java/android/widget/Toast.java 从makeText方法开始看: 初始化了一个Toast对象。看看Toast构造器里面的代码逻辑: 初始化了一个

    2024年02月09日
    浏览(21)
  • 小程序--loading和toast

            wx.showLoading({}) 显示loading提示框。 wx.hideLoading({}) 隐藏loading提示框。                 title:文字提示内容                 mask:是否显示透明蒙层,防止触摸穿透。         更多属性参考showLoading官方文档。           wx.showToast({})显示消息提示框(轻提示)。

    2024年02月22日
    浏览(43)
  • 模拟Toast 自定义提示框

    模拟Toast 自定义提示框 前言 为满足产品需求,发现现在的ToastUtils不是太重就是不太满足需求,这边写个简单易用的工具,几十行代码解决的问题,还要啥轮子。 功能如下: 自动消失 相对 锚点位置 可配置, 正中间,左中,右中,下中 ,等 高宽自适应 TipPop XML Style 使用 sh

    2024年02月13日
    浏览(28)
  • React Native实现Toast轻提示和loading

    使用react native的小伙伴都知道,官方并未提供轻提示组件,只提供了ToastAndroid API,顾名思义,只能再安卓环境下使用,对于ios就爱莫能助,故此,只能通过官方的核心组件,自行封装,实现Toast功能 创建文件 首先我们需要创建一个Toast组件,引入对应需要的依赖,icon等等 声

    2024年02月10日
    浏览(34)
  • Vite + Vue3 +Vant4构建项目时,按需引入使用Toast组件,引用 showToast 时出现编译报错的解决方案

    一.问题定位 在Vite + Vue3 +Vant4构建项目时,需要使用Toast组件显示提示信息,按照官方文档使用函数调用 使用后直接报错,说是找不到对应的样式文件(如下图): 在项目中查找node-moudles文件,确实没有找到,只有一个toast文件(如下图): 在百度搜索解决方法,说是需要单

    2024年01月17日
    浏览(66)
  • Appium+python自动化(二十六)- Toast提示(超详解)简介

    开始今天的主题 - 获取toast提示 在日常使用App过程中,经常会看到App界面有一些弹窗提示(如下图所示)这些提示元素出现后等待3秒左右就会自动消失,这个和我日常生活中看到的烟花和昙花是多么的相似,那么我们该如何获取这些元素文字内容呢? Android中的Toast是一种简

    2024年02月15日
    浏览(57)
  • vue自定义全局弹出询问框、输入框、提示框、toast(附源码)

    早前写过一篇关于vue自定义弹出询问框、输入框、提示框的贴子,当时只是实现了组件化,组件需要在各个业务模板进行引用,不能全局化使用,不太方便,本次将其改进成了全局使用,具体的业务模块不需要引入组件,直接调用main.js注册的全局方法即可。 涉及技术点: 遮

    2024年02月03日
    浏览(33)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包