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实现单选按钮,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-05-05
  • Android 中raw和assets文件夹的区别

    Android 中raw和assets文件夹的区别

    这篇文章主要介绍了Android 中raw和assets文件夹的区别的相关资料,需要的朋友可以参考下
    2017-04-04
  • Android 中SP与DP的区别实例详解

    Android 中SP与DP的区别实例详解

    这篇文章主要介绍了Android 中SP与DP的区别实例详解的相关资料,需要的朋友可以参考下
    2016-10-10
  • Android实现百分比下载进度条效果

    Android实现百分比下载进度条效果

    这篇文章主要为大家详细介绍了Android实现百分比下载进度条效果,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-12-12
  • Android开发使用Messenger及Handler进行通信的方法示例

    Android开发使用Messenger及Handler进行通信的方法示例

    这篇文章主要介绍了Android开发使用Messenger及Handler进行通信的方法,结合实例形式分析了Android使用Messenger及Handler定义客户端与服务器端实现通信的相关操作技巧,需要的朋友可以参考下
    2017-12-12
  • 在Android Studio中设置Button透明度的方法详解

    在Android Studio中设置Button透明度的方法详解

    本文将介绍在Android Studio中如何设置Button的透明度,首先,我们将展示实现该功能的整个流程,并使用表格列出每个步骤,然后,我们将详细说明每个步骤需要做什么,并提供相应的代码和注释,需要的朋友可以参考下
    2023-09-09
  • Android中CountDownTimer 实现倒计时功能

    Android中CountDownTimer 实现倒计时功能

    本篇文章主要介绍了Android中CountDownTimer 实现倒计时功能,CountDownTimer 是android 自带的一个倒计时类,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-05-05
  • Android Canvas绘制文字横纵向对齐

    Android Canvas绘制文字横纵向对齐

    这篇文章主要介绍了Android Canvas绘制文字横纵向对齐,Align属性决定了使用该画笔时,相较于绘制点的水平对称方式,分别是LEFT、CENTER、RIGHT,更多相关内容需要的小伙伴可以参考下面文章详细内容
    2022-06-06
  • Android ViewPager小圆点指示器

    Android ViewPager小圆点指示器

    这篇文章主要为大家详细介绍了Android ViewPager小圆点指示器,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-06-06
  • Flutter中抽屉组件Drawer使用详解

    Flutter中抽屉组件Drawer使用详解

    这篇文章主要为大家详细介绍了Flutter中抽屉组件Drawer使用,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-03-03

最新评论