2009-12-14 90 views
10

任何想法爲什麼這不會創建看起來像彈出窗口的活動,而不是完全填滿屏幕的活動?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。這可能嗎?

回答

25

您必須將您的活動窗口設置爲浮動狀態。您可以通過給你的活動由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> 

然後設置樣式上的應用程序清單中的活動。

+0

謝謝。這正是我需要的。 –

+1

現在就是 - style =「@ style/AlertDialog.AppCompat」 now。 – SanVed

1

在我的手機上,但檢查this website here它顯示瞭如何正確使用PopupWindow。

希望這可以幫助您或指出您在正確的方向。