У меня возникла серьезная проблема с диалоговым окном оповещения в Android. Я расширил DialogFragment, и я хочу, чтобы диалог был полноэкранным. После многих неудачных попыток я понял, что могу получить полноэкранный диалог, установив тему диалога. Я сделал это, как этотFullscreen Holo Dialogs
ContextThemeWrapper context = new ContextThemeWrapper(getActivity(), android.R.style.Theme_Holo_NoActionBar_Fullscreen);
AlertDialog.Builder builder = new AlertDialog.Builder(context);
, так как я прочитал это было совместимо с более старым API. Но, к сожалению, он работает только с определенными темами, он никогда не работает с голой темой. Например. если я использую Theme_Black_NoActionBar_Fullscreen, он будет полноэкранным, но если я использую Theme_Holo_NoActionBar_Fullscreen или даже Theme_DeviceDefault_NoActionBar_Fullscreen, он не будет полноэкранным. Всякий раз, когда Holo участвует, диалог не заполняет экран.
Я даже попытался определения свой собственный стиль, расширяя Theme.Holo со следующими параметрами:
<item name="android:windowIsFloating">false</item>
<item name="android:windowFullscreen">true</item>
<item name="android:windowBackground">@null</item>
<item name="android:windowFrame">@null</item>
<item name="android:windowContentOverlay">@null</item>
<item name="android:windowAnimationStyle">@null</item>
<item name="android:windowIsTranslucent">true</item>
Но даже явно устанавливая в полноэкранном режиме и нулевой кадр и фона, и т.д., не помогает, диалог по-прежнему отказывается заполнять ширину экрана (я тестирую его на своем телефоне, в ландшафтном режиме).
Мне очень нужна помощь в этом, я пытался заставить его работать весь день. Сначала я попытался настроить атрибуты окна с помощью LayoutParams, но это не работает с DialogFragment. Благодарю.
Полноэкранные диалоги называются Activity :) Почему вы этого не сделали? – tilpner
ОК, а не полностью полноэкранный режим, я все равно хочу получить маржу вокруг диалогового окна. Это то, что вы получаете с Theme_Black_NoActionBar_Fullscreen. Вы получаете окно, которое использует большую часть ширины экрана с запасом. Но с темами Холо, я просто получаю окно, которое составляет половину ширины экрана. Диалог содержит текст, поэтому было бы лучше, если бы он использовал большую ширину. В любом случае, ничего, что я пробовал, позволяет мне каким-либо образом изменить ширину диалога. Неужели я должен как-то повлиять на ширину, вместо того, чтобы иметь ширину, выбранную для меня? –