Android - активность, которая не заполняет родительский экран
Любая идея, почему это не создает активность, которая выглядит как всплывающее окно, а не активность, полностью заполняющая экран?
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="300dip"
android:layout_height="120dip"
android:layout_marginTop="100dip">
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_height="120dip"
android:layout_width="300dip">
<TextView android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/hello" />
</RelativeLayout>
</LinearLayout>
Я предположил, что мне нужно только установить высоту макета и ширину макета для чего-то другого, кроме "fill_parent", но он по-прежнему отображается как черный экран, который полностью заполняет экран.
В конечном счете, я просто хочу создать всплывающее окно, но я не хочу использовать AlertDialog. Возможно ли это?
Ответы
Ответ 1
Вы должны установить, чтобы окно активности было плавающим. Вы можете сделать это, указав свою активность в стиле диалога, определяемом Android (android:style/Theme.Dialog
), или определите свой собственный стиль, например:
<style name="MyFloatingWindow">
<item name="android:windowBackground">@android:color/transparent</item>
<item name="android:background">@android:color/transparent</item>
<item name="android:windowIsFloating">true</item>
<item name="android:windowNoTitle">true</item>
</style>
Затем установите стиль вашей активности в манифесте приложения.
Ответ 2
На моем телефоне, но проверьте этот сайт здесь, он показывает, как правильно использовать PopupWindow.
Надеюсь, это поможет вам или направит вас в правильном направлении.