Android Toast的幾種使用方式及注意事項(xiàng)
Toast是Android中常用的組件,下面介紹下Toast使用的幾種方式和注意事項(xiàng)。
Toast的使用方式簡(jiǎn)單來(lái)說(shuō)有下面五種:
1、默認(rèn)的顯示
// 第一個(gè)參數(shù):當(dāng)前的上下文環(huán)境??捎胓etApplicationContext()或Activity的context // 第二個(gè)參數(shù):要顯示的字符串。也可是R.string中字符串ID // 第三個(gè)參數(shù):顯示的時(shí)間長(zhǎng)短。Toast默認(rèn)的有兩個(gè)LENGTH_LONG(長(zhǎng))和LENGTH_SHORT(短),也可以使用毫秒如2000ms Toast toast=Toast.makeText(mContext, "默認(rèn)的Toast", Toast.LENGTH_SHORT); //顯示toast信息 toast.show();
2、自定義位置顯示(值改變位置)
Toast toast=Toast.makeText(mContext, "自定義顯示位置的Toast", Toast.LENGTH_SHORT); //第一個(gè)參數(shù):設(shè)置toast在屏幕中顯示的位置。這里設(shè)置是居中靠頂 //第二個(gè)參數(shù):相對(duì)于第一個(gè)參數(shù)設(shè)置toast位置的橫向X軸的偏移量,正數(shù)向右偏移,負(fù)數(shù)向左偏移 //第三個(gè)參數(shù):相對(duì)于第一個(gè)參數(shù)設(shè)置toast位置的縱向y軸的偏移量,正數(shù)向下偏移,負(fù)數(shù)向上偏移 //如果你設(shè)置的偏移量超過(guò)了屏幕的范圍,toast將在屏幕內(nèi)靠近超出的那個(gè)邊界顯示 toast.setGravity(Gravity.TOP|Gravity.CENTER, -50, 100); //屏幕居中顯示,X軸和Y軸偏移量都是0 //toast.setGravity(Gravity.CENTER, 0, 0); toast.show();
3、帶圖片顯示(能夠顯示一個(gè)圖標(biāo))
Toast toast=Toast.makeText(mContext, "顯示帶圖片的toast", 2000); toast.setGravity(Gravity.CENTER, 0, 0); //創(chuàng)建圖片視圖對(duì)象 ImageView imageView= new ImageView(mContext); //設(shè)置圖片 imageView.setImageResource(R.drawable.image); //獲得toast的布局 LinearLayout toastView = (LinearLayout) toast.getView(); //設(shè)置此布局為橫向的 toastView.setOrientation(LinearLayout.HORIZONTAL); //將ImageView在加入到此布局中的第一個(gè)位置 toastView.addView(imageView, 0); toast.show();
4、完全自定義顯示
LayoutInflater inflater = getLayoutInflater();
//通過(guò)制定XML文件及布局ID來(lái)填充一個(gè)視圖對(duì)象
View layout = inflater.inflate(R.layout.test,(ViewGroup)findViewById(R.id.toast));
ImageView image = (ImageView) layout.findViewById(R.id.image);
//設(shè)置布局中圖片視圖中圖片
image.setImageResource(R.drawable.toast_image);
TextView title = (TextView) layout.findViewById(R.id.title);
//設(shè)置標(biāo)題
title.setText("標(biāo)題");
TextView text = (TextView) layout.findViewById(R.id.content);
//設(shè)置內(nèi)容
text.setText("自定義Toast");
Toast toast= new Toast(mContext);
toast.setGravity(Gravity.CENTER , 0, 0);
toast.setDuration(Toast.LENGTH_LONG);
toast.setView(layout);
toast.show();5、在其他線程中調(diào)用顯示
Toast只能運(yùn)行在主UI線程,所以在線程中使用時(shí)必須結(jié)合Handler,通過(guò)發(fā)消息的方式最終在主線程顯示Toast
Handler handler=new Handler(){
@Override
public void handleMessage(Message msg) {
int what=msg.what;
switch (what) {
case 1:
showToast();
break;
}
};
public void showToast(){
Toast toast=Toast.makeText(getApplicationContext(), "Toast在其他線程中顯示", Toast.LENGTH_SHORT);
toast.show();
}
Runnable runnable = new Runnable(){
@Override
public void run() {
handler.sendEmptyMessage(1);
}
}
Toast使用注意事項(xiàng):
1、Toast只能在UI線程當(dāng)中使用,在非UI線程使用會(huì)拋異常;
2、使用Toast時(shí)最好定義一個(gè)全局的 Toast 對(duì)象,這樣可以避免連續(xù)顯示
Toast 時(shí)不能取消上一次 Toast 消息的情況(如果你有連續(xù)彈出 Toast 的情況,避免
使用 Toast.makeText)。
取消toast的方法為toast.cancel();
到此這篇關(guān)于Android Toast的幾種使用方式的文章就介紹到這了,更多相關(guān)Android Toast的幾種使用方式內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Android仿IOS ViewPager滑動(dòng)進(jìn)度條
這篇文章主要為大家詳細(xì)介紹了Android仿IOS ViewPager滑動(dòng)進(jìn)度條的相關(guān)資料,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-01-01
android開(kāi)發(fā)之關(guān)閉所有的activity的方法
本篇文章主要介紹了android開(kāi)發(fā)之關(guān)閉所有的activity的方法,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-12-12
Android APP之WebView校驗(yàn)SSL證書(shū)的方法
這篇文章主要介紹了Android APP之WebView校驗(yàn)SSL證書(shū)的方法,需要的朋友可以參考下2017-09-09
Android activity和view判斷滑動(dòng)
這篇文章主要介紹了Android activity和view判斷滑動(dòng)的相關(guān)資料,需要的朋友可以參考下2017-06-06
android 獲取手機(jī)GSM/CDMA信號(hào)信息,并獲得基站信息的方法
下面小編就為大家?guī)?lái)一篇android 獲取手機(jī)GSM/CDMA信號(hào)信息,并獲得基站信息的方法。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2016-11-11
Gradle學(xué)習(xí)教程之部署上傳項(xiàng)目詳解
這篇文章主要給大家介紹了關(guān)于Gradle學(xué)習(xí)教程之部署上傳項(xiàng)目的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧。2018-04-04
Android IPC機(jī)制ACtivity綁定Service通信代碼實(shí)例
這篇文章主要介紹了Android IPC機(jī)制ACtivity綁定Service通信代碼實(shí)例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-09-09
兩個(gè)surfaceView實(shí)現(xiàn)切換效果
這篇文章主要為大家詳細(xì)介紹了兩個(gè)surfaceView實(shí)現(xiàn)切換效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-11-11

