欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

Android中如何實(shí)現(xiàn)Toast只顯示最后一條-創(chuàng)新互聯(lián)

這篇文章主要介紹了Android中如何實(shí)現(xiàn)Toast只顯示最后一條,具有一定借鑒價(jià)值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

目前創(chuàng)新互聯(lián)公司已為1000+的企業(yè)提供了網(wǎng)站建設(shè)、域名、網(wǎng)站空間、綿陽(yáng)服務(wù)器托管、企業(yè)網(wǎng)站設(shè)計(jì)、平輿網(wǎng)站維護(hù)等服務(wù),公司將堅(jiān)持客戶(hù)導(dǎo)向、應(yīng)用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶(hù)和合作伙伴齊心協(xié)力一起成長(zhǎng),共同發(fā)展。

具體如下:

在做Android開(kāi)發(fā)中,時(shí)不時(shí)的可能會(huì)用到Toast,但用Toast的時(shí)候,連續(xù)使用會(huì)存在一個(gè)問(wèn)題,就是一條條顯示Toast。而不是直接顯示最后一條。因此,根據(jù)此需求,現(xiàn)在寫(xiě)了ToastUtil這個(gè)類(lèi),該類(lèi)中有三個(gè)方法供選擇。

ToastUtil.Java

import android.content.Context;
import android.graphics.PixelFormat;
import android.os.Handler;
import android.os.Looper;
import android.os.Message;
import android.view.Gravity;
import android.view.WindowManager;
import android.widget.TextView;
import android.widget.Toast;
public class ToastUtil {
  //方法一
  private static Handler mHandler = new Handler(Looper.getMainLooper());
  private static Toast mToast = null;
  private static Object synObject = new Object();
  public static void showToastByThread(Context context, String msg){
    showToastByThread(context, msg, Toast.LENGTH_SHORT);
  }
  public static void showToastByThread(Context context, int msg){
    showToastByThread(context, context.getText(msg), Toast.LENGTH_SHORT);
  }
  public static void showToastByThread(final Context context, final CharSequence msg, final int length){
    new Thread(new Runnable() {
      @Override
      public void run() {
        mHandler.post(new Runnable() {
          @Override
          public void run() {
            synchronized (synObject) {
              if (mToast != null){
                mToast.setText(msg);
                mToast.setDuration(length);
              }else{
                mToast = Toast.makeText(context, msg, length);
              }
              mToast.show();
            }
          }
        });
      }
    }).start();
  }
  //方法二:注意此方法不能再子線(xiàn)程中使用
  private static long oneTime;
  private static long twoTime;
  private static String oldMsg;
  public static void showToastByTime(Context context, String msg){
    if (mToast == null) {
      mToast = Toast.makeText(context, msg, Toast.LENGTH_SHORT);
      mToast.show();
      oneTime = System.currentTimeMillis();
    } else {
      twoTime = System.currentTimeMillis();
      if (msg.equals(oldMsg)){
        if (twoTime-oneTime > Toast.LENGTH_SHORT){
          mToast.show();
        }
      } else {
        oldMsg = msg;
        mToast.setText(msg);
        mToast.show();
      }
    }
    oneTime = twoTime;
  }
  public static void showToastByTime(Context context, int msg){
    showToastByTime(context, context.getString(msg));
  }
  //方法三
  public static TextView mTextView;
  public static WindowManager mWindowManager = null;
  private static Handler mPriHandler = new Handler(){
    @Override
    public void handleMessage(Message msg) {
      cancelToast();
    }
  };
  public static void showToastByWindow(Context context, String msg){
    mWindowManager = (WindowManager) context.getSystemService(Context.WINDOW_SERVICE);
    if (mTextView == null){
      mTextView = new TextView(context);
    }
    mTextView.setText(msg);
    mTextView.setTextSize(20);
    mTextView.setPadding(0, 0, 0, 30);
    if (mTextView.getParent() == null){
      WindowManager.LayoutParams params = new WindowManager.LayoutParams();
      params.gravity= Gravity.BOTTOM;
      params.alpha = 0.65f;
      params.x = 0;
      params.height = WindowManager.LayoutParams.WRAP_CONTENT;
      params.width = WindowManager.LayoutParams.WRAP_CONTENT;
      params.flags = WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE |
          WindowManager.LayoutParams.FLAG_NOT_TOUCHABLE |
          WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON |
          WindowManager.LayoutParams.FLAG_LAYOUT_IN_SCREEN;
      params.format = PixelFormat.TRANSLUCENT;
      params.windowAnimations = 0;
      mWindowManager.addView(mTextView, params);
      mPriHandler.sendEmptyMessageDelayed(101, 1000);
    } else {
      mTextView.setText(msg);
      mPriHandler.removeMessages(101);
      mPriHandler.sendEmptyMessageDelayed(101, 1000);
    }
  }
  public static void cancelToast(){
    if (mTextView != null && mTextView.getParent() != null){
      mWindowManager.removeView(mTextView);
    }
  }
}

感謝你能夠認(rèn)真閱讀完這篇文章,希望小編分享的“Android中如何實(shí)現(xiàn)Toast只顯示最后一條”這篇文章對(duì)大家有幫助,同時(shí)也希望大家多多支持創(chuàng)新互聯(lián),關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,更多相關(guān)知識(shí)等著你來(lái)學(xué)習(xí)!

網(wǎng)站名稱(chēng):Android中如何實(shí)現(xiàn)Toast只顯示最后一條-創(chuàng)新互聯(lián)
URL分享:http://aaarwkj.com/article10/dddjgo.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供定制網(wǎng)站、靜態(tài)網(wǎng)站網(wǎng)站導(dǎo)航、網(wǎng)站維護(hù)、企業(yè)網(wǎng)站制作云服務(wù)器

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話(huà):028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

搜索引擎優(yōu)化
亚洲成人免费电影91| 黄色成人av在线网站| 免费观看黄片视频在线播放| 日韩免费av在线网站| 日韩大片一区二区三区在线观看| 中文字幕一区二区中文字幕| 亚洲精品国产第一区| 可以免费看的欧美黄片| 国产精品国产三级丝袜| 久久91亚洲精品久久91| 高清国产在线播放91| 亚洲国产日韩欧美第一页| 中文字幕精品久久久人妻| 日本韩国三级视频在线观看| 欧美激情欧美狂野欧美精品 | 国产亚洲精品免费视频| 色婷婷精品综合久久狠狠| 成人午夜福利视频免费观看| 精品国产不卡在线观看| 日韩一区二区三区无吗电影| 最新91熟女九色地址| 日本不卡高清视频在线播放| 亚洲国产欧美精品综合在线| 国产高清视频成人在线观看 | 日本亚洲欧洲一区二区| 亚洲国产偷拍在线观看| 亚洲男人天堂最新地址| 亚洲一区二区精品999| 亚洲精品人妻av在线| 亚洲精品免费福利视频| 亚洲国产成人精品av在线| 国内外成人皇色视频| 一区二区三区熟妇人妻视频| 97在线视频观看视频在线| 线上免费看黄色亚洲片| 国产免费成人黄视频网站| 蜜臀av首页在线观看| 日本人妻久久中文字幕精品| 女人高潮被爽到呻吟在线| 99久久免费精品老色| 国产欧美日韩另类在线|