Я столкнулся с головокружающим моментом, похожим на то, что произошло this person (с января 2008 года), когда я понял, что в диалоговом окне прогресса или проигрывателях Android нет кнопки отмены. Сейчас в июле 2009 года, и я только что установил версию для кексов Android. Это изменилось? Если нет, добавляете ли вы кнопку отмены в диалоговом окне и как вы это делаете?Почему в диалоговом окне прогресса Android нет кнопки отмены?
ответ
Я не являюсь пользователем или разработчиком Android, но я думаю, что ответ, данный в связанной теме, довольно приличный: есть аппаратное обеспечение «назад» на всех устройствах Android. Пользователи должны знать, чтобы нажать Back to back из любой активности, в которой они сейчас находятся.
Таким образом, разработчики пользовательского интерфейса считают, что нет необходимости включать кнопку возврата/отмены GUI. Это можно рассматривать как приложение пользовательского интерфейса принципа DRY; если уже есть один способ сделать что-то, этого достаточно.
Ключ к оборудованию является ответом здесь. Я был бы осторожен в обобщении принципа DRY на пользовательские интерфейсы. Есть много случаев, когда вам нужно забивать молотком, забивать одну и ту же точку для пользователя несколько раз, используя заголовки, основной текст, цвета и изображения.
Пользователи не читают «UI», как вы читаете роман. Они сканируют чтение.
Я не могу говорить для других приложений, но в моем случае все, что может вызвать ожидание потока пользовательского интерфейса, выполняется в отдельном потоке. Самое большее, что я сделаю, это показать небольшой счетчик производительности в заголовке, чтобы пользователь знал, что что-то происходит в фоновом режиме.
не уверен, что в целом кнопка отмены ... Я слышал, что сообщения о методе 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 является деятельность протирать переменной, если вам не нужно вызывать его из другого места, тогда вы должны уйти, просто ограничив область действия этого метода.
Как пользователь и разработчик Android, я могу сказать, на мой взгляд, и основываясь на моем понимании платформы, что есть хорошая причина не иметь кнопку отмены по умолчанию в диалоговом окне прогресса отмены ,
Как разработчик, эти диалоги не могут быть отменены по умолчанию, то есть вы должны явно указать их как отмену.
Это имеет смысл, поскольку их цель - предупредить пользователя через поток пользовательского интерфейса о том, что некоторые работы происходят в другом месте, что важно для обновления потока пользовательского интерфейса, прежде чем пользователь продолжит использование приложения ,
Например, когда вы выбираете список данных для заполнения пустого экрана, с ним нет ничего, что необходимо для взаимодействия, и пользователю нужно знать, что что-то происходит, и ожидать, что нет ничего доступного для взаимодействия пока этот процесс не будет завершен.
Однако могут быть случаи, такие как извлечение данных из Интернета, где процесс является «отрывочным» и из-за проблем с подключением, возможно, вы не сможете выполнить запрос и застреваете здесь.
В этом случае вы можете активировать диалог для отмены.
Теперь, как пользователь, который четко понимает парадигму пользовательского интерфейса Android, я знаю, что если я хочу вернуться к тому, что я делал раньше, или «отменить» текущую операцию, я должен нажать на заднюю клавишу.
Как пользователь, это не то, чтобы знать, что в Android клавиша меню часто может отображать скрытые параметры, иногда на незаметном экране без возможности взаимодействия.
Это поведение, которое пользователь ожидает, и способ разработки платформы. Вы можете очень хорошо добавить кнопку отмены, но с точки зрения пользователей, которая понимает их телефон, это не имеет никакого значения, задняя клавиша, безусловно, является намеченным выбором для этой цели.
Деятельность и пользовательские интерфейсы имеют поток, вы пропускаете действия и «экраны» пользовательского интерфейса, которые «сложены», а кнопка «назад» по существу «выталкивает» последнее, что находится в стеке, чтобы вернуть вас туда, где вы были ранее. Если вы видите диалог в качестве другого из этих действий, вы хотите вытащить его из верхней части стека, чтобы вернуться к тому, что находится под ним, или к предыдущей деятельности.
Если у разработчика есть диалог, который нельзя отменить по спине, это либо, по дизайну, для которого в некоторых случаях может быть очень веская причина, или это плохое развитие и надзор за дьявола.
- 1. проблема с диалоговом окне прогресса в android
- 2. Ошибка в диалоговом окне прогресса
- 3. Изменение вторичного текста прогресса в диалоговом окне прогресса в Android
- 4. Android: изменение текста кнопки в диалоговом окне
- 5. Исключительное исключение указателя при установкеПрогресс в диалоговом окне прогресса android
- 6. Настройка фона Custum в диалоговом окне прогресса
- 7. оставшееся время в диалоговом окне прогресса
- 8. Почему в новом диалоговом диалоговом окне Auth нет пропущенных агрегатов?
- 9. Android Dialog - Заменить кнопки при нажатии кнопки в диалоговом окне
- 10. Кнопки управления в пользовательских диалоговом окне
- 11. Прогресс в диалоговом окне в Android
- 12. Невозможно решить многие проблемы в диалоговом окне прогресса
- 13. TouchEvent в диалоговом окне Android
- 14. Android onActivityResult в диалоговом окне
- 15. OnclickListener в диалоговом окне Android
- 16. Входящие в диалоговом окне Android
- 17. EditText в диалоговом окне android
- 18. Почему мои кнопки jQuery не отображаются в моем диалоговом окне?
- 19. Как отключить клавиатуру Android в диалоговом окне?
- 20. Контакты в диалоговом окне
- 21. Различные кнопки в одном диалоговом окне jQuery
- 22. Стиль кнопки радио в предупреждающем диалоговом окне
- 23. PyQt: Подключение кнопки в диалоговом окне
- 24. Обнаружение кнопки открытия в диалоговом окне загрузки
- 25. Отключить кнопки в диалоговом окне JQuery UI?
- 26. Установить 3 кнопки в диалоговом окне предупреждения, Android?
- 27. Android - Как проверить нажатие кнопки в диалоговом окне настраиваемого предупреждения?
- 28. Android - Увеличение размера кнопки в диалоговом окне оповещений
- 29. Android не может запустить событие кнопки в диалоговом окне
- 30. PyQt5: «Нет заливки» в диалоговом окне «Цвет»?
Исторически в пользовательском интерфейсе обычно считается, что лучше обеспечить несколько избыточных способов достижения одной и той же задачи. Интересный подход, если это причина, по которой они это сделали. –
Кнопка BACK, на мой взгляд, является синонимом кнопки «Назад» браузера. Мне неинтересно (и даже техникам в моем офисе), что откат назад отбрасывает диалог. –
Тогда вам просто нужно подождать, пока диалоговое окно закроется, или выберите уже выбранный элемент в счетчике. Как правило, поддержка диалога прогресса не отменяет действие, потому что приложение должно выполнять длительный процесс в потоке в любом случае. Если они не ищут закрытие диалогового окна, процесс в какой-то момент будет завершен. –