Почему в диалоговом окне прогресса Android нет кнопки отмены?

Я столкнулся с моментом сглаживания головы, похожим на то, что пережил этот человек (с января 2008 года), когда я понял, что в диалоговом окне прогресса или прядильщиках Android нет кнопки отмены. Сейчас в июле 2009 года, и я только что установил версию для кексов Android. Это изменилось? Если нет, добавляете ли вы кнопку отмены в диалоговом окне и как вы это делаете?

Я не являюсь пользователем или разработчиком Android, но я думаю, что ответ, данный в связанном потоке, довольно приличный: на всех устройствах Android есть аппаратный «задний» ключ. Пользователи должны знать, чтобы нажать Back to back из любой активности, в которой они сейчас находятся.

Таким образом, разработчики пользовательского интерфейса считают, что нет необходимости включать кнопку возврата / отмены GUI. Это можно рассматривать как приложение UI принципа DRY ; Если уже есть один способ сделать что-то, этого достаточно.

Не уверен, что все кнопки отменить … я слышал, что сообщения onCancel () не срабатывают должным образом. Мое решение состоит только в том, чтобы сделать обычную кнопку в диалоговом окне с призывом к возврату всякий раз, когда нажимается кнопка.

private void createCancelProgressDialog(String title, String message, String buttonText) { cancelDialog = new ProgressDialog(this); cancelDialog.setTitle(title); cancelDialog.setMessage(message); cancelDialog.setButton(buttonText, new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int which) { // Use either finish() or return() to either close the activity or just the dialog return; } }); cancelDialog.show(); } 

То просто используйте простой метод вызова из другого места в вашей деятельности

 createCancelProgressDialog("Loading", "Please wait while activity is loading", "Cancel"); 

Довольно простое решение, но оно делает трюк;) также просто отметить, что cancelDialog – это переменная очистки действий, если вам не нужно называть ее из другого места, тогда вы должны уйти, просто ограничив область действия переменной Это способ.

Ответьте здесь на аппаратный ключ. Я был бы осторожен в обобщении принципа DRY на пользовательские интерфейсы. Есть много случаев, когда вам нужно забивать молоток, забивать одну и ту же точку для пользователя несколько раз, используя заголовки, основной текст, цвета и изображения.

Пользователи не читают «UI», как вы читаете роман. Они сканируют чтение.

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

Будучи пользователем Android и разработчиком, я могу сказать, на мой взгляд, и основываясь на моем понимании платформы, что есть хорошая причина не иметь кнопку отмены по умолчанию в диалоговом окне прогресса отмены.

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

Это имеет смысл, поскольку их цель – предупредить пользователя через поток пользовательского интерфейса о том, что некоторые работы происходят в другом месте, что важно для обновления потока пользовательского интерфейса, прежде чем пользователь продолжит использование приложения.

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

Однако могут быть случаи, такие как извлечение данных из Интернета, где процесс является «отрывочным» и из-за проблем с подключением, возможно, вы не сможете выполнить запрос и застреваете здесь.

Это, как разработка, позволяет включить диалог для отмены.

Теперь, как пользователь, который четко понимает парадигму интерфейса Android, я знаю, что если я хочу вернуться к тому, что я делал раньше, или «отменить» текущую операцию, я должен нажать на задний ключ.

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

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

Действия и пользовательские интерфейсы имеют поток, вы пропускаете действия и пользовательские «экраны», которые «сложены», а кнопка «назад» по существу «выталкивает» последнюю вещь из стека, чтобы вернуть вас туда, где вы были ранее. Если вы видите диалог в качестве другого из этих действий, вы хотите вытащить его из верхней части стека, чтобы вернуться к тому, что находится внизу, или к предыдущей операции.

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

Intereting Posts
Appcelerator Hyperloop Android – Как использовать определенные функции диспетчера датчиков, которые используют проход по эталонной структуре Установленное приложение является сторонним или нет Уведомление GCM, не полученное на одном из мобильных устройств Исключение исключения NoReadAccessException при экспорте ошибок Lint для генерации HTML-отчета в Android Studio Как установить свойства по умолчанию в сборке AOSP? Загрузчик не может быть перезапущен после изменения ориентации Программно зеркальный экран с устройства Android на телевизор Как обновить пользовательский интерфейс в BroadcastReceiver Вставить кусок кода HTML или скрипт Javascript внутри webview в android Вызов статического метода JNI для возврата строки из C ++ CrossWalk Webview не запускает URL Ссылка на рынок Android в SMS Можно ли использовать дополненную реальность в помещении без GPS Android: AlertDialog – Пользователь щелкнул в другом месте Преобразование рамки предварительного просмотра в растровое изображение