Android開(kāi)發(fā)基礎(chǔ)簡(jiǎn)化Toast調(diào)用方法詳解
前言
有時(shí)候我們開(kāi)發(fā)時(shí)會(huì)發(fā)現(xiàn)有些方法調(diào)用非常多,但它的默認(rèn)的調(diào)用方法卻要傳很多參數(shù)進(jìn)去而且還得記得調(diào)用具體的寫(xiě)法,比如Toast,不止要調(diào)用makeText()方法還得在makeText()方法后加上show():
Toast.makeText(context, "A", Toast.LENGTH_LONG).show()
有時(shí)候就會(huì)因?yàn)橥浾{(diào)show()方法而不顯示,結(jié)果導(dǎo)致很多奇怪的Bug,所以對(duì)其的簡(jiǎn)化還是很有必要的。
實(shí)現(xiàn)方法
那么我們?cè)趺磳?duì)Toast方法簡(jiǎn)化呢?

新建一個(gè)Toast.kt文件

import android.content.Context
import android.widget.Toast
//工具方法
//添加擴(kuò)展函數(shù)
//簡(jiǎn)化Toast調(diào)用方法
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()
}
然后去除默認(rèn)加上的class類(lèi),并為String和Int類(lèi)各寫(xiě)一個(gè)擴(kuò)展方法,然后我們?cè)跀U(kuò)展方法中調(diào)用Toast方法,將其中的第二個(gè)參數(shù)(彈出的內(nèi)容)換成this參數(shù),就能更簡(jiǎn)單的使用Toast方法了:

字符串調(diào)用
"start ActivityPlayVideo".showToast(applicationContext)
定義在string.xml的字符串資源調(diào)用:
R.string.app_name.showToast(applicationContext)
但我們?nèi)孕枰獌?yōu)化該工具方法,因?yàn)榇藭r(shí)我們是寫(xiě)死了彈出時(shí)長(zhǎng)的,不過(guò)Kotlin中有對(duì)函數(shù)設(shè)置參數(shù)默認(rèn)值的功能:

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()
}
這樣寫(xiě)好后,我們就在不需要設(shè)置彈出時(shí)間時(shí)不去輸入第二個(gè)參數(shù),默認(rèn)時(shí)間,而在有彈出時(shí)長(zhǎng)需求時(shí)改變第二個(gè)參數(shù)duration來(lái)設(shè)置時(shí)長(zhǎng):

//默認(rèn)彈出時(shí)長(zhǎng) "start ActivityPlayVideo".showToast(applicationContext) //手動(dòng)設(shè)置彈出時(shí)長(zhǎng) R.string.app_name.showToast(applicationContext, 500)
最終,我們就簡(jiǎn)化好了Toast,后續(xù)在App中調(diào)用它也更加方便好用,當(dāng)然,其實(shí)最好還加上對(duì)子線(xiàn)程的支持,因?yàn)樽泳€(xiàn)程對(duì)UI不能直接操作。
總結(jié)
雖然方法很簡(jiǎn)單,但在項(xiàng)目開(kāi)發(fā)中的確蠻有作用的,簡(jiǎn)化了編寫(xiě)代碼的過(guò)程。
以上就是Android開(kāi)發(fā)基礎(chǔ)簡(jiǎn)化Toast調(diào)用方法的詳細(xì)內(nèi)容,更多關(guān)于Android 簡(jiǎn)化Toast調(diào)用的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
Android 中SP與DP的區(qū)別實(shí)例詳解
這篇文章主要介紹了Android 中SP與DP的區(qū)別實(shí)例詳解的相關(guān)資料,需要的朋友可以參考下2016-10-10
Android實(shí)現(xiàn)百分比下載進(jìn)度條效果
這篇文章主要為大家詳細(xì)介紹了Android實(shí)現(xiàn)百分比下載進(jìn)度條效果,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-12-12
Android開(kāi)發(fā)使用Messenger及Handler進(jìn)行通信的方法示例
這篇文章主要介紹了Android開(kāi)發(fā)使用Messenger及Handler進(jìn)行通信的方法,結(jié)合實(shí)例形式分析了Android使用Messenger及Handler定義客戶(hù)端與服務(wù)器端實(shí)現(xiàn)通信的相關(guān)操作技巧,需要的朋友可以參考下2017-12-12
在Android Studio中設(shè)置Button透明度的方法詳解
本文將介紹在Android Studio中如何設(shè)置Button的透明度,首先,我們將展示實(shí)現(xiàn)該功能的整個(gè)流程,并使用表格列出每個(gè)步驟,然后,我們將詳細(xì)說(shuō)明每個(gè)步驟需要做什么,并提供相應(yīng)的代碼和注釋,需要的朋友可以參考下2023-09-09
Android中CountDownTimer 實(shí)現(xiàn)倒計(jì)時(shí)功能
本篇文章主要介紹了Android中CountDownTimer 實(shí)現(xiàn)倒計(jì)時(shí)功能,CountDownTimer 是android 自帶的一個(gè)倒計(jì)時(shí)類(lèi),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-05-05

