自定义Toast及定时器实现点击两次退出

public class MainActivity extends Activity {  
  
    private static boolean isQuit = false;  
  
    Timer timer = new Timer();  
  
    @Override  
    protected void onCreate(Bundle savedInstanceState) {  
        super.onCreate(savedInstanceState);  
        setContentView(R.layout.activity_main);  
    }  
  
    public void toast1(View v) {  
        // Toast.makeText(MainActivity.this, "我是一个普通的吐司",  
        // Toast.LENGTH_LONG).show();  
  
        Toast toast = Toast.makeText(MainActivity.this, "我是一个普通的吐司",  
                Toast.LENGTH_LONG);  
  
        // 设置Toast显示的位置  
        toast.setGravity(Gravity.CENTER, 0, 0);  
  
        toast.show();  
  
    }  
  
    public void toast2(View v) {  
        // 1, 实例化Toast  
        Toast toast = new Toast(MainActivity.this);  
  
        // 2, 设置Toast的内容  
        TextView tv = new TextView(MainActivity.this);  
  
        tv.setTextColor(Color.RED);  
        tv.setText("我是一个自定义的Toast");  
        toast.setView(tv);  
  
        // 3, 设置Toast显示的位置  
        toast.setGravity(Gravity.CENTER, 0, 0);  
  
        // 4, 设置持续的时间  
        toast.setDuration(Toast.LENGTH_LONG);  
  
        // 5, 显示Toast  
        toast.show();  
    }  
  
    @Override  
    public boolean onKeyDown(int keyCode, KeyEvent event) {  
  
        // 1, 判断点击的是否为返回键  
        if (keyCode == KeyEvent.KEYCODE_BACK) {//起初设置为isQuit为false,第一次点击后改变为true,因此第二次点击进入else,两秒内未点击仍为false  
            if (isQuit == false) {  
                isQuit = true;  
  
                Toast.makeText(MainActivity.this, "再按一次返回键退出应用程序",  
                        Toast.LENGTH_SHORT).show();  
  
                // 定时器  
                timer.schedule(new TimerTask() {  
  
                    @Override  
                    public void run() {  
  
                        isQuit = false;  
                    }  
                }, 2000);  
  
            } else {  
                System.exit(0);// 退出当前应用程序  
            }  
        }  
  
        return false;  
    }  
}  

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值