AMS简单循环Toast

1.sendmessage

handler.sendEmptyMessageDelayed(TOAST, 5*1000);//add by devin

2.message处理,10s循环弹窗

    case TOAST:
        String CustomId = getEnvCustomId();
        Log.i("SafetyCheck", "handler CHECK_AGAIN : "+CustomId+"  ini : "+compareCustomId);
        if (!CustomId.equals(compareCustomId)) {
            handler.sendEmptyMessageDelayed(TOAST, 10*1000);//时间间隔后再继续显示POP_FLASH
            toastShow(mContext, POP_FLASH_TEXT);
        }else{
            Log.i("SafetyCheck", "remove TOAST");
            handler.removeMessages(TOAST);
        }

3.不能多次创建toast,只创建一次

public void toastShow(Context context, String warntext){
    if(mToast == null){
        Log.i("SafetyCheck", "initToast...");
        initToast(context,warntext);
    }
    Log.i("SafetyCheck", "toastShow...");
    mToast.show();
}

public void initToast(Context context, String warntext){

    mToast = Toast.makeText(context, null, Toast.LENGTH_SHORT);
    TextView textView = new TextView(context);
    LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT,LinearLayout.LayoutParams.MATCH_PARENT);
    //params.setMargins(0, 800, 0, 0);
    textView.setLayoutParams(params);

    textView.setHeight(getScreenHeight(context)/3);
    textView.setText(warntext);
    textView.setTextSize(25);
    textView.setGravity(Gravity.CENTER);
    textView.setTextColor(Color.WHITE);
    //textView.setAlpha(0.2f);
    textView.setBackgroundColor(0x7D000000);//透明 黑色
    textView.setFocusable(false);
    mToast.setGravity(Gravity.BOTTOM|Gravity.FILL_HORIZONTAL, 0, 0);

    mToast.setView(textView);
}

4.获取屏幕高度

/**
 * 获得屏幕高度
 *
 * @param context
 * @return
 */
public int getScreenWidth(Context context) {
    WindowManager wm = (WindowManager) context.getSystemService(Context.WINDOW_SERVICE);
    DisplayMetrics outMetrics = new DisplayMetrics();
    wm.getDefaultDisplay().getMetrics(outMetrics);
    return outMetrics.widthPixels;
}

/**
 * 获得屏幕宽度
 *
 * @param context
 * @return
 */
public int getScreenHeight(Context context) {
    WindowManager wm = (WindowManager) context.getApplicationContext().getSystemService(Context.WINDOW_SERVICE);
    DisplayMetrics outMetrics = new DisplayMetrics();
    wm.getDefaultDisplay().getMetrics(outMetrics);
    return outMetrics.heightPixels;
}


猜你喜欢

转载自blog.csdn.net/wd229047557/article/details/80366300
今日推荐