Как показать активность как всплывающую на другой активности? - PullRequest
34 голосов
/ 28 июля 2010

У меня есть Активность A, и в представлении есть кнопка B.Если кто-то нажимает B, я хочу всплывающее окно, которое может занять некоторую часть экрана, делая A невидимым в этой области, но остальная часть A видна, но не активна.Как мне этого добиться?

Ответы [ 7 ]

64 голосов
/ 28 июля 2010

Если вы хотите сделать это, используя Activity вместо Dialog, вы можете сделать это, установив тему действия в android:theme="@android:style/Theme.Dialog" в манифесте - это сделает действие похожим на диалог (плавающий поверх того, что было под ним).

16 голосов
/ 26 января 2016

Для AppCompat добавьте

android:theme="@style/Theme.AppCompat.Dialog.Alert"

к действию в AndroidManifest

6 голосов
/ 28 июля 2010

Класс Dialog идеально подходит для этого.Вы можете найти простые примеры здесь .

3 голосов
/ 20 мая 2014

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

В моем случае я сделал android:theme="@android:style/Theme.Holo.Light.Dialog"

2 голосов
/ 24 ноября 2014

Для appcompat это может быть использовано в манифесте

<activity android:theme="@style/Theme.Base.AppCompat.Dialog.FixedSize" >
</activity>
1 голос
/ 11 декабря 2014

Настройка темы на android:theme="@android:style/android:Theme.Holo.Panel" сработала для меня.

Шаги - 1. Установите тему для действия в файле манифеста на android:theme="@android:style/android:Theme.Holo.Panel" (это нужно изменить на используемую тему)Пример:

<activity
      android:name=".EditActivity"
      android:theme="@android:style/android:Theme.Holo.Panel"
      android:label="@string/title_activity_edit" >
</activity>
В xml ресурса активности установите соответствующие отступы и ширину корневого макета.Я установил его на 0 и добавил дочерний макет в начале с альфа-каналом, чтобы показать некоторую часть предыдущего действия.
0 голосов
/ 10 января 2018

если вы работаете с Material Design , вы должны использовать @android:style/Theme.Material.Dialog.NoActionBar

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...