下面是个简单易学的Toast和Handler的间隔使用实例教程,图老师小编详细图解介绍包你轻松学会,喜欢的朋友赶紧get起来吧!
【 tulaoshi.com - 编程语言 】
    本人在项目开发过程,需要实现一个“来电归属地”的功能,因此用到了Toast。但Toast的显示时间,不受我们控制,系统只提供了两个配置参数,分别是LENGTH_LONG,LENGTH_SHORT。因为要让Toast长期显示,需要另外一个线程,每隔一个时间段,就循环显示一次。 
       先说明一下,本次需要用到Handle机制,因此不了解或者不熟悉Handle的同学,请先去看看Android上的Handle机制! 
       下面开始讲解代码实现详情! 
       先写一个包装类,就叫MyToast吧,如下 
代码如下:
       public class MyToast { 
          private Context mContext = null; 
          private Toast mToast = null; 
          private Handler mHandler = null; 
          private Runnable mToastThread  = new Runnable() { 
            @Override 
            public void run() { 
              mToast.show(); 
              mHandler.postDelayed(mToastThread, 3000);//每隔3秒显示一次,经测试,这个时间间隔效果是最好 
            } 
         }; 
         public MyToast(Context context){ 
           mContext = context; 
           mHandler = new Handler(mContext.getMainLooper()); 
           mToast = Toast.makeText(mContext, "自由@飞翔", Toast.LENGTH_LONG); 
         } 
         public void setText(String text){ 
           mToast.setText(text); 
         } 
        public void show(){ 
          mHandler.post(mToastThread); 
        } 
       public void cancel() { 
        mHandler.removeCallbacks(mToastThread);//先把显示线程删除 
        mToast.cancel();// 把最后一个线程的显示效果cancel掉,就一了百了了 
       } 
    } 
MainActivity 的代码如下:
代码如下:
  public class MainActivity extends Activity implements OnClickListener{ 
     private Button show_button; 
    private Button cancel_button; 
    private MyToast myToast; 
    /** Called when the activity is first created. */ 
    @Override 
    public void onCreate(Bundle savedInstanceState) { 
        super.onCreate(savedInstanceState); 
        setContentView(R.layout.main); 
        show_button = (Button) findViewById(R.id.show_button); 
        cancel_button = (Button) findViewById(R.id.cancel_button); 
        show_button.setOnClickListener(this); 
        cancel_button.setOnClickListener(this); 
        myToast = new MyToast(this); 
    } 
   @Override 
   public void onClick(View v) { 
    if(v == show_button){ 
      myToast.show(); 
    }else if (v == cancel_button) { 
     myToast.cancel(); 
   } 
} 
}
来源:http://www.tulaoshi.com/n/20160219/1591490.html
看过《Toast和Handler的间隔使用实例》的人还看了以下文章 更多>>