Подтвердить что ты не робот

Как показать активность как всплывающее окно другой активности?

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

4b9b3361

Ответ 1

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

Ответ 2

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

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

для активности в AndroidManifest

Ответ 3

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

Ответ 4

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

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

Ответ 5

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

<activity android:theme="@style/Theme.Base.AppCompat.Dialog.FixedSize" >
</activity>

Ответ 6

Настройка темы 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>
  1. В ресурсе ресурса xml задается соответствующее заполнение и ширина в корневом макете. Я установил его в 0 и добавил исходный макет в начале с альфой, чтобы показать часть предыдущей активности.