zoukankan      html  css  js  c++  java
  • Android开发之《实现类似Toast可以自动消失的提示栏Tip》

    import java.util.Timer;
    import java.util.TimerTask;
    
    import android.app.Activity;
    import android.content.Context;
    import android.view.View;
    import android.widget.TextView;
    
    public class TipManager {
        private static final String TAG = TipManager.class.getSimpleName();
    
        private Context mContext;
        private TextView mView;
    
        private Timer timer = null;
        private TimerTask cancelTask = null;
    
        public TipManager(Context context, TextView view) {
            mContext = context;
            mView = view;
        }
    
        public void init() {
            timer = new Timer();
        }
    
        public void release() {
            if (cancelTask != null) {
                cancelTask.cancel();
                cancelTask = null;
            }
    
            if (timer != null) {
                timer.cancel();
                timer = null;
            }
        }
    
        public void show(CharSequence text) {
            // cancel hide task
            if (cancelTask != null) {
                cancelTask.cancel();
                cancelTask = null;
                timer.purge();
            }
    
            showUI(text);
        }
    
        public void show(CharSequence text, long duration) {
            showUI(text);
    
            // cancel hide task
            if (cancelTask != null) {
                cancelTask.cancel();
                cancelTask = null;
                timer.purge();
            }
    
            cancelTask = new TimerTask() {
                @Override
                public void run() {
                    hideUI("default");
                }
            };
    
            timer.schedule(cancelTask, duration);
        }
    
        private void showUI(final CharSequence text) {
            ((Activity) mContext).runOnUiThread(new Runnable() {
                @Override
                public void run() {
                    doShow(text);
                }
            });
        }
    
        private void hideUI(final CharSequence text) {
            ((Activity) mContext).runOnUiThread(new Runnable() {
                @Override
                public void run() {
                    doHide(text);
                }
            });
        }
    
        private void doShow(CharSequence text) {
            mView.setText(text);
            mView.setVisibility(View.VISIBLE);
        }
    
        private void doHide(CharSequence text) {
            mView.setText(text);
            mView.setVisibility(View.INVISIBLE);
        }
    }
    

      

  • 相关阅读:
    开发微信App支付
    SAP 数据类型
    SAP RFC函数
    单点登录
    集中式与分布式
    SAP 表类型
    独立软件供应商
    SAP 优缺点
    SAP 使用
    SAP 费用
  • 原文地址:https://www.cnblogs.com/alanfang/p/6885235.html
Copyright © 2011-2022 走看看