Android - 未填充父屏幕的活动

Rya*_*ord 10 user-interface 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>
Run Code Online (Sandbox Code Playgroud)

我假设我只需要将布局高度和布局宽度设置为"fill_parent"以外的其他值,但它仍然显示为完全填满屏幕的黑屏.

最终,我只是想创建一个弹出窗口,但我不想使用AlertDialog.这可能吗?

Mat*_*ias 26

您必须将活动窗口设置为浮动.您可以通过为您的活动提供Android(android:style/Theme.Dialog)定义的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>
Run Code Online (Sandbox Code Playgroud)

然后在应用程序的Manifest中设置活动的样式.