Android отключить активность - PullRequest
2 голосов
/ 15 апреля 2010

Как сделать упражнение временно недоступным для прикосновения и не сфокусированным?

1 Ответ

0 голосов
/ 20 октября 2012

Вы можете отключить всех слушателей, когда захотите. Другой подход, который я использовал, - это использование прозрачной линейной или относительной компоновки, которая должна быть накачана, чтобы охватить весь экран в течение определенного периода времени.

public void coveredScreen(){
    if(point_total>0){
        parent = (RelativeLayout) findViewById(R.id.main_view); //whatever your layout is
        loadedView = getLayoutInflater().inflate(R.layout.covered_screen, null); //the layout that contains something that fills parent.

        parent.addView(loadedView);

        updateHandler = new Handler();

        updateHandler.postDelayed(coveredScreen, 2000); //opens layout for 2000 ms

        // turns off listeners...
        button1.setClickable(false);
        button2.setClickable(false);

}

Runnable loadingScreen = new Runnable() {
      public void run() {
        // this turns on listeners and removes the inflated view
          parent.removeView(loadedView); 
          button1.setClickable(true);
          button2.setClickable(true);

        // Call this method again every 3 seconds if desired or as long as wanted by uncommenting this handler
        //updateHandler.postDelayed(this, 3000);
      }
    };

Итак ... чтобы установить это так долго, как вы хотите, звоните каждый раз, когда хотите заблокировать какие-либо действия пользователя в Activity.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...