如何在显示退出的快餐栏对话框的情况下双击退出?

How to exit on double back press with showing the snackbar dialogue of exit?

我想在双击退出时创建一个小吃栏对话框...(java)

请求这些

  1. 第一次按下后退显示对话框“再次按下退出”2秒

  2. 再次按下后显示 "do you want to exit ? " 确认键2秒

如下图-

在 activity_main

中为您的布局创建 ID
CoordinatorLayout coordinatorLayout;

@Override
public void onBackPressed() {     
    coordinatorLayout= (CoordinatorLayout) findViewById(R.id.coordinatorLayout);
if (!doubleBackToExitPressedOnce) {
            this.doubleBackToExitPressedOnce = true;
            Snackbar.make(coordinatorLayout, "Do you really want to exit?", Snackbar.LENGTH_LONG)
                .setAction("YES", new View.OnClickListener() {
                @Override
                public void onClick(View view) {
                    //button action here
                    System.exit(0);
                }
            }).setActionTextColor(Color.YELLOW)
              .show();
            new Handler().postDelayed(new Runnable() {

                @Override
                public void run() {
                    doubleBackToExitPressedOnce = false;
                }
            }, 2000);
        } 

希望对您有所帮助

这是适合您的解决方案 -

private final long DOUBLE_PRESS_BACK_TO_EXIT_TIME = 2000;
boolean doubleBackPressed = false;

    @Override
    public void onBackPressed() {
        // todo: show the snackbar here. 
        this.doubleBackPressed = true;
        utils.showToastLong(getString(R.string.press_again_to_exit));
        new Handler().postDelayed(new Runnable() {
            @Override
            public void run() {
                doubleBackPressed = false;
                // todo: hide the snackbar here. 
            }
        }, DOUBLE_PRESS_BACK_TO_EXIT_TIME);

    }

要自定义 Snackbar,您可以按照此操作link