Мне нужно иметь диалог (это диалоговое окно игры), где кнопки находятся в нижних углах диалога. Не внутри диалог, а скорее на самых углах (т. Е. Часть кнопки будет находиться по диалогу, а часть будет за ее пределами).Android. Как сделать диалоговые кнопки немного за пределами диалогового окна
ответ
Вот макет образец, который я пробовал:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<FrameLayout
android:orientation="vertical"
android:id="@+id/ll1"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:background="@android:drawable/dialog_frame">
</FrameLayout>
<Button android:layout_width="wrap_content"
android:id="@+id/button1"
android:layout_height="wrap_content"
android:layout_marginTop="35dp"
android:layout_centerHorizontal="true"
android:text="Button"></Button>
</RelativeLayout>
вот скриншот:
надежда у получить подсказку, Гудлак
Пробовал это и работает нормально, за исключением того, что я получил границу диалога, охватывающую все нарисованные выше. Я использовал советы из [этой темы] (http://stackoverflow.com/questions/1883425/android-borderless-dialog), чтобы исправить это. Спасибо за помощь! – Taras
@Taras Можете ли вы разместить код? –
Во-первых, насколько я знаю, вы не можете перемещать макеты детей вне своего родителя.
Я никогда не пробовал точно, что вы собираетесь делать, но я думаю, что это можно сделать. Трюк должен состоять в том, чтобы перейти к активности с диалоговой темой (вы можете найти примеры на сайте разработчика или демонстрации API). Убедитесь, что корневой узел вашего макета имеет ширину и высоту, установленную в wrap_content. Корневой макет должен быть RelativeLayout и не иметь никакого фона (android: background = "# 0000").
Затем добавьте еще один макет к корневому узлу (возможно, сработает FrameLayout) с настраиваемым для фона фоном (или используйте тот, который использует диалог по умолчанию из фреймворка), а ширина и высота заданы как fill_parent или match_parent. Установите андроид: отступы до некоторого значения погружения, которое вытаскивает фон из края диалогового окна.
Осталось только добавить другие элементы макета к корневому узлу. FrameLayout будет нарисован под всем остальным, а прокладка создаст иллюзию границ, которые не охватывают ваш пользовательский интерфейс.
Обновление Yikes, просто попробованное выше с хорошими и плохими результатами. Во-первых, вы определенно хотите, чтобы посмотреть на примере "Пользовательский" Диалог с API демо, что делает использование:
Создайте действие, которое использует указанный выше файл макета xml, и задайте стиль для действия Theme.CustomDialog, который вы определили в xml/styles.xml. Это даст вам красный фон для вашей деятельности. Затем вы можете отредактировать файл формы fill_box, чтобы только один атрибут фона был установлен на невидимый («# 0000»). Результатом должно быть диалоговое действие без фона.
Далее я попытался взломать фон, используя свои мысли сверху. Идея должна состоять в том, что за другими элементами пользовательского интерфейса, которые не охватывают их, есть фон фальшивый фон, поэтому он может быть «сжат» с использованием layout_margin и не влияет на них. Проблема здесь в том, что фоновый фон должен иметь ширину и высоту, установленные по отношению к другим элементам пользовательского интерфейса, поэтому он вроде бы HAS, чтобы охватить их, чтобы он мог правильно измерять свою собственную ширину и высоту относительно них.
Так что я думаю, что решение может состоять в том, чтобы сделать большинство из того, что я сказал выше, за исключением того, что не пытайтесь использовать фальшивую фоновую вещь. Просто используйте 9-патч, подходящий для фона корневого макета, и уменьшите края вашего фона, которые будут нарисованы дальше, чем ваш контент. Вы по-прежнему будете использовать пользовательскую тему темы сверху с невидимой темой окна.
- 1. Получение внутреннего диалогового окна за пределами диалогового окна
- 2. Как скрыть диалоговые кнопки при открытии диалогового окна jQuery-ui
- 3. Закладка заголовка диалогового окна JQuery за пределами
- 4. Как заблокировать событие, когда клик появляется за пределами диалогового окна
- 5. Как скрыть/удалить все диалоговые окна из диалогового окна
- 6. Как предотвратить появление диалогового окна установщика частично за пределами экрана?
- 7. Как удалить прозрачный темный фон за пределами диалогового окна
- 8. Как расширить выделенное выпадение за пределами содержащего его диалогового окна
- 9. кнопки UI диалоговые скрыть элементы управления
- 10. Значок пользовательского диалогового окна Android
- 11. Как организовать идентификаторы диалогового окна Android?
- 12. Получить параметры JQuery Chosen за пределами диалогового окна JQuery.
- 13. Модальные диалоговые окна
- 14. Диалоговые окна and differeces android
- 15. Пользовательские диалоговые окна Android неправильные размеры
- 16. Кнопки за пределами onCreate
- 17. Как связать кнопки и диалоговые окна с помощью tkinter?
- 18. Утечка окна из-за диалогового окна предупреждения
- 19. Ширина диалогового окна Android
- 20. Цвет диалогового окна Android
- 21. Событие Нажмите вне диалогового окна Android?
- 22. Как создать диалоговые окна загрузки в Android?
- 23. Кнопки для Android-приложений за пределами Listview
- 24. DIV показано немного за пределами экрана
- 25. Диалоговые окна MVVM way
- 26. VSTO Outlook Addin Диалоговые окна
- 27. Ссылка за пределами кнопки
- 28. Настройка диалогового окна ANDROID
- 29. Android: вызов диалогового окна с помощью кнопки, встроенной в список
- 30. Отклонение диалогового окна Android() не закрывается
Вы используете AlertDialog.Builder для вашего диалога ? – Josh
Я пробовал строители и макеты. У меня нет ограничений на механизм. Я буду использовать все, что поможет мне достичь желаемого внешнего вида. – Taras