Android开发基础简化Toast调用方法详解

 更新时间:2023年02月06日 08:57:09   作者:ObliviateOnline  
这篇文章主要为大家介绍了Android开发基础简化Toast调用方法的相关资料,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪

前言

有时候我们开发时会发现有些方法调用非常多,但它的默认的调用方法却要传很多参数进去而且还得记得调用具体的写法,比如Toast,不止要调用makeText()方法还得在makeText()方法后加上show():

Toast.makeText(context, "A", Toast.LENGTH_LONG).show()

有时候就会因为忘记调show()方法而不显示,结果导致很多奇怪的Bug,所以对其的简化还是很有必要的。

实现方法

那么我们怎么对Toast方法简化呢?

新建一个Toast.kt文件

import android.content.Context
import android.widget.Toast

//工具方法
//添加扩展函数
//简化Toast调用方法

fun String.showToast(context : Context) {
    Toast.makeText(context, this, Toast.LENGTH_LONG).show()
}

fun Int.showToast(context : Context) {
    Toast.makeText(context, this, Toast.LENGTH_LONG).show()
}

然后去除默认加上的class类,并为String和Int类各写一个扩展方法,然后我们在扩展方法中调用Toast方法,将其中的第二个参数(弹出的内容)换成this参数,就能更简单的使用Toast方法了:

字符串调用

"start ActivityPlayVideo".showToast(applicationContext)

定义在string.xml的字符串资源调用:

R.string.app_name.showToast(applicationContext)

但我们仍需要优化该工具方法,因为此时我们是写死了弹出时长的,不过Kotlin中有对函数设置参数默认值的功能:

fun String.showToast(context : Context, duration: Int = Toast.LENGTH_LONG) {
    Toast.makeText(context, this, duration).show()
}

fun Int.showToast(context : Context, duration: Int = Toast.LENGTH_LONG) {
    Toast.makeText(context, this, duration).show()
}

这样写好后,我们就在不需要设置弹出时间时不去输入第二个参数,默认时间,而在有弹出时长需求时改变第二个参数duration来设置时长:

//默认弹出时长
"start ActivityPlayVideo".showToast(applicationContext)
//手动设置弹出时长
R.string.app_name.showToast(applicationContext, 500)

最终,我们就简化好了Toast,后续在App中调用它也更加方便好用,当然,其实最好还加上对子线程的支持,因为子线程对UI不能直接操作。

总结

虽然方法很简单,但在项目开发中的确蛮有作用的,简化了编写代码的过程。

以上就是Android开发基础简化Toast调用方法的详细内容,更多关于Android 简化Toast调用的资料请关注脚本之家其它相关文章!

相关文章

  • Android学习之文件存储读取

    Android学习之文件存储读取

    本节给大家介绍的是Android数据存储与访问方式中的一个——文件存储与读写,当然除了这种方式外,我们可以存到SharedPreference,数据库, 或者ContentProvider中,当然这些后面都会讲,嗯,开始本文内容~
    2016-07-07
  • Android如何跳转到应用商店的APP详情页面

    Android如何跳转到应用商店的APP详情页面

    最近做项目遇到这样的需求,要求从App内部点击按钮或链接,跳转到应用商店的某个APP的详情页面,怎么实现此功能呢?下面小编给大家分享Android如何跳转到应用商店的APP详情页面,需要的朋友参考下
    2017-01-01
  • Android自定义View实现波浪动画

    Android自定义View实现波浪动画

    这篇文章主要为大家详细介绍了Android自定义View实现波浪动画,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-08-08
  • Android实现页面滑动切换动画

    Android实现页面滑动切换动画

    这篇文章主要为大家详细介绍了Android实现页面滑动切换动画,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-12-12
  • ListView实现下拉动态渲染数据

    ListView实现下拉动态渲染数据

    这篇文章主要为大家详细介绍了ListView实现下拉动态渲染数据的相关资料,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-06-06
  • Android Studio4.0解决Gradle下载超时问题

    Android Studio4.0解决Gradle下载超时问题

    这篇文章主要介绍了Android Studio4.0解决Gradle下载超时问题,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-10-10
  • Android动画之补间动画(Tween Animation)基础学习

    Android动画之补间动画(Tween Animation)基础学习

    补间动画是指定开始和结束的图像状态,自动生成需要显示的过度图像的动画。补间动画又分为四种:移动,缩放,旋转,通明度等。下面就来给大家一篇关于Android中补间动画的基础知识,有需要的可以参考学习。
    2016-09-09
  • 详解Android登陆界面用户协议解决方案

    详解Android登陆界面用户协议解决方案

    这篇文章主要介绍了详解Android登陆界面用户协议解决方案,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-08-08
  • Android顶部(toolbar)搜索框实现的实例详解

    Android顶部(toolbar)搜索框实现的实例详解

    这篇文章主要介绍了Android顶部(toolbar)搜索框实现的实例详解的相关资料,需要的朋友可以参考下
    2017-09-09
  • Android反编译程序整理详解

    Android反编译程序整理详解

    很多做安卓开发的朋友都在寻找好的反编译软件和方法,小编给大家整理的很多目前流行的Android反编译程序,希望能够给你提供参考。
    2017-11-11

最新评论