Android App中使用全局Toast

自定義的FlexibleToast主要功能:

  1. 支持默認(rèn)格式泳桦,自上向下布局為ImageView驱敲、TextView堂湖、TextView,三個(gè)控件可以自由組合顯示或隱藏
  2. 支持Top色查,Center邦危,Bottom的位置顯示毯侦,默認(rèn)Bottom和TOAST_SHORT顯示。
  3. 可以傳入自定義的layout的View米死,支持其他自定義的顯示
  4. 共用一個(gè)Toast對(duì)象,防止多次Toast重疊以及并顯示時(shí)間的累加贮庞,該控件僅保留最后一次的文本峦筒、顯示時(shí)間等設(shè)置。
  5. 在app自己自定義的Application中創(chuàng)建的Toast窗慎,Activity物喷,F(xiàn)ragment,Adapter中都可以直接調(diào)用遮斥。
  6. 主線程或者子線程可以直接調(diào)用峦失。
  7. 使用簡單,先創(chuàng)建一個(gè)控制toast各種屬性的builder术吗,然后直接調(diào)用toastShowByBuilder(builder)即可宠进。

配置和使用步驟:

  1. 在自定義的單例Application中添加如下代碼:
    public class BaseApp extends Application {
    //.....自己的其他代碼,該BaseApp必是單例的
    // 全局的 handler 對(duì)象
    private final Handler APPHANDLER = new Handler();
    // 全局的 Toast 對(duì)象
    private FlexibleToast flexibleToast;
    // ........其他操作
    // 在初始化資源的地方創(chuàng)建Toast
    flexibleToast = new FlexibleToast(this);
    public void toastShowByBuilder(final FlexibleToast.Builder builder) {
    if (Looper.myLooper() != Looper.getMainLooper()) {
    getAppHandler().post(new Runnable() {
    @Override
    public void run() {
    flexibleToast.toastShow(builder);
    }
    });
    } else {
    flexibleToast.toastShow(builder);
    }
    }
    //.....others
    }
    現(xiàn)在就可以在想Toast的地方使用了藐翎。

  2. 使用方法:
    buidler中設(shè)置想要的樣式,包括顯示什么元素实幕,位置吝镣,時(shí)長。
    FlexibleToast.Builder builder = new FlexibleToast.Builder(this).setGravity(FlexibleToast.GRAVITY_TOP).setFirstText("first").setSecondText("second=" + System.currentTimeMillis());
    BaseApp.getApp().toastShowByBuilder(builder);
    如果想利用自己定義的布局昆庇,可以這樣使用:
    其中R.layout.layout_toast_with_two_text是自己定義的布局末贾,此時(shí)builder中對(duì)ImageView和TextView的設(shè)置都是無效的了。
    View toastView = LayoutInflater.from(this).inflate(R.layout.layout_toast_with_two_text, null, false);
    TextView tvOne = (TextView) toastView.findViewById(R.id.tv_text_one);
    TextView tvTwo = (TextView) toastView.findViewById(R.id.tv_text_two);tvOne.setText("customer one");tvTwo.setText("customer two");
    FlexibleToast.Builder builder = new FlexibleToast.Builder(this).setCustomerView(toastView);BaseApp.getApp().toastShowByBuilder(builder);

  3. 關(guān)于初始化Toast的Context整吆,源碼中的doc是這樣寫的:

The context to use. Usually your {@link android.app.Application} or {@link android.app.Activity} object.

Demo中將new Toast放到了自己的Application中拱撵,這樣那么子線程使用就能直接show,而子線程如果在使用的時(shí)候才new Toast表蝙,會(huì)Crash拴测,要么就要用handler去post到主線程中toast。也就是要保證toast的創(chuàng)建在主線程總府蛇。ToastDemo中的SensorList頁面中有這兩個(gè)例子集索。

  1. Demo地址:
    https://github.com/maoranbian/MTime
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市汇跨,隨后出現(xiàn)的幾起案子务荆,更是在濱河造成了極大的恐慌,老刑警劉巖穷遂,帶你破解...
    沈念sama閱讀 207,113評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件函匕,死亡現(xiàn)場離奇詭異,居然都是意外死亡蚪黑,警方通過查閱死者的電腦和手機(jī)盅惜,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,644評(píng)論 2 381
  • 文/潘曉璐 我一進(jìn)店門中剩,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人酷窥,你說我怎么就攤上這事咽安。” “怎么了蓬推?”我有些...
    開封第一講書人閱讀 153,340評(píng)論 0 344
  • 文/不壞的土叔 我叫張陵妆棒,是天一觀的道長。 經(jīng)常有香客問我沸伏,道長糕珊,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 55,449評(píng)論 1 279
  • 正文 為了忘掉前任毅糟,我火速辦了婚禮红选,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘姆另。我一直安慰自己喇肋,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,445評(píng)論 5 374
  • 文/花漫 我一把揭開白布迹辐。 她就那樣靜靜地躺著蝶防,像睡著了一般。 火紅的嫁衣襯著肌膚如雪明吩。 梳的紋絲不亂的頭發(fā)上间学,一...
    開封第一講書人閱讀 49,166評(píng)論 1 284
  • 那天,我揣著相機(jī)與錄音印荔,去河邊找鬼低葫。 笑死,一個(gè)胖子當(dāng)著我的面吹牛仍律,可吹牛的內(nèi)容都是我干的嘿悬。 我是一名探鬼主播,決...
    沈念sama閱讀 38,442評(píng)論 3 401
  • 文/蒼蘭香墨 我猛地睜開眼水泉,長吁一口氣:“原來是場噩夢(mèng)啊……” “哼鹊漠!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起茶行,我...
    開封第一講書人閱讀 37,105評(píng)論 0 261
  • 序言:老撾萬榮一對(duì)情侶失蹤躯概,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后畔师,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體娶靡,經(jīng)...
    沈念sama閱讀 43,601評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,066評(píng)論 2 325
  • 正文 我和宋清朗相戀三年看锉,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了姿锭。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片塔鳍。...
    茶點(diǎn)故事閱讀 38,161評(píng)論 1 334
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖呻此,靈堂內(nèi)的尸體忽然破棺而出轮纫,到底是詐尸還是另有隱情,我是刑警寧澤焚鲜,帶...
    沈念sama閱讀 33,792評(píng)論 4 323
  • 正文 年R本政府宣布掌唾,位于F島的核電站,受9級(jí)特大地震影響忿磅,放射性物質(zhì)發(fā)生泄漏糯彬。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,351評(píng)論 3 307
  • 文/蒙蒙 一葱她、第九天 我趴在偏房一處隱蔽的房頂上張望撩扒。 院中可真熱鬧,春花似錦吨些、人聲如沸搓谆。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,352評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽挽拔。三九已至,卻和暖如春但校,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背啡氢。 一陣腳步聲響...
    開封第一講書人閱讀 31,584評(píng)論 1 261
  • 我被黑心中介騙來泰國打工状囱, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人倘是。 一個(gè)月前我還...
    沈念sama閱讀 45,618評(píng)論 2 355
  • 正文 我出身青樓亭枷,卻偏偏與公主長得像,于是被迫代替她去往敵國和親搀崭。 傳聞我的和親對(duì)象是個(gè)殘疾皇子叨粘,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,916評(píng)論 2 344

推薦閱讀更多精彩內(nèi)容