Android-диалог смотри и чувствуй

1

После применения последнего обновления к моему Samsung GalaxyTab 10.1 я получил "новый" вид для созданных в коде диалогов. Я предположил, что это была кожа Samsung, и я не мог с этим поделать (честно говоря, я действительно чувствовал, что не должен переопределять внешний вид по умолчанию).

Обновление:

  • Версия Android 3.1
  • Ядерная версия 2.6.36.3 se.infra@SEP-63 # 1
  • Номер сборки HMJ37.UEKME P7510UEKME

Однако я заметил, что приложение Android Market по-прежнему имеет предыдущий диалог стиля (у них есть синие линии вверху и тонкие разделители между кнопками).

Отвечает мне на два вопроса:

  1. Программно, есть ли возможность избежать какой-либо скины или изменений, которые были добавлены/включены? Например, по умолчанию оригинал? Или мне нужно настроить свой стиль для этого?

  2. UI/UX, вы считаете, что мы должны использовать кожу или нет? Хотя я понимаю, что это мнение, как опытные разработчики Android, это похоже на одну из многих проблем фрагментации, с которыми нам приходится иметь дело, и мне любопытно ожидать других.

Я создаю диалог в onCreateDialog диалогового DialogFragment

return new AlertDialog.Builder(getActivity())
            .setTitle(getString(R.string.AddMetTitle))
            .setView(v)
            .setPositiveButton(android.R.string.ok,
                    new DialogInterface.OnClickListener() {
                        public void onClick(DialogInterface dialog, int whichButton) {
                            //do some stuff - removed
                        }
                    }
            )
            .setNegativeButton(android.R.string.cancel,
                    new DialogInterface.OnClickListener() {
                        public void onClick(DialogInterface dialog, int whichButton) {
                            //dismiss 
                        }
                    }
            )
            .create();
Теги:
android-layout
android-3.0-honeycomb

2 ответа

0
Лучший ответ

вы можете вытащить ресурсы Dialog по умолчанию из папок макета и чертежей внутри вашей платформы SDK/{OS version}. Если вы включите эти ресурсы в свое приложение и сделаете ваши диалоги, они будут выглядеть одинаково на всех устройствах. Если вы не предоставите свои собственные (даже если "ваши собственные" являются только копиями по умолчанию), я не думаю, что вы можете контролировать, что это будет выглядеть, потому что они отличаются друг от друга на разных устройствах.

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

http://dl.dropbox.com/u/5724095/Android%20Apps/dialog_res.zip

  • 0
    Спасибо, Тим, я попробую это (и если это сработает, отметьте как принятый)
  • 0
    Я вынимаю ресурсы, которые вам понадобятся, и скоро опубликую их.
0

если бы я был вами, я бы просто установил макет диалога на что-то обычное с помощью setcontentview()

  • 0
    действительно, я делаю это, но «кожа» (опять же, догадка) по-прежнему берет верх (кнопки, заголовки диалогов и т. д.) - это проблема, к сожалению, но я согласен.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню