5

Androidでユーザーが数秒間すべてのインタラクションからUIをブロックするにはどうすればよいですか?

知りたいのですが、次のような遅延タイミングでこれを行う方法wait(5000);

4

5 に答える 5

9

任意のタッチイベントdispatchTouchEventへの呼び出しをオーバーライドして停止することができます。このメソッドは、処理される前に実行する必要があります。super.dispatchTouchEvent(ev);

制御するブール値を設定し、それをメソッドで使用して、制御をブロックするかどうかを決定します。

private boolean stopUserInteractions = false;

public boolean dispatchTouchEvent(MotionEvent ev) {
    if (stopUserInteractions) {
        return true;
    } else {
        return super.dispatchTouchEvent(ev);
    }
}
于 2012-06-28T06:57:40.750 に答える
4

必要なときにコードで表示Non-cancelable progress dialogして閉じます......。

例を参照してください

http://www.helloandroid.com/tutorials/using-threads-and-progressdialog

于 2012-06-28T06:57:27.507 に答える
1

ユーザーが何もできないようにする、モーダルでキャンセルできない進行状況ダイアログをポップアップ表示できます。ただし、UIスレッド自体をブロックしないでください。

于 2012-06-28T06:57:38.753 に答える
1

UIブロック時間でProgressDialogを使用します。ProgressDialogのキャンセル可能falseを設定します。そのため、ユーザーはUIにアクセスできません。

ありがとう。

于 2012-06-28T06:57:55.977 に答える
1

あなたの質問は短いので、あなたはそのように答えを得るでしょう。

ThreadまたはAsyncTaskを使用して、ProgressDialogをユーザーに表示させることができます。

于 2012-06-28T06:58:54.013 に答える