2010-07-28 89 views
31

我有一個活動A,並在視圖中有一個按鈕B.如果有人按B鍵,那麼我想要一個彈出窗口,可以佔用一部分屏幕,使A在該區域不可見,但A的其餘部分可見但不活動。我怎樣才能做到這一點?如何將活動顯示爲其他活動的彈出窗口?

回答

61

如果你想做到這一點使用的活動,而不是一個對話框,您可以在清單中的活動的主題設置爲android:theme="@android:style/Theme.Dialog"做到這一點 - 這將使活動看起來像一個對話框(浮在什麼是下方的頂部它)。

+0

不知它並沒有爲我工作:(。我試圖用setTheme(android.R.style.Theme_Dialog)來設置主題。 – bhups 2010-07-28 15:04:29

+0

你有沒有嘗試設置主題到manifest中的活動TEAD? – oli 2010-07-28 15:40:24

+0

這可以通過在活動中設置主題爲我工作。 – 2013-02-15 03:24:51

6

對話框類是完美的。你可以找到簡單的例子here

3

只需添加oli的答案,確保使用您在應用程序中使用的主題的對話框。

在我來說,我沒有android:theme="@android:style/Theme.Holo.Light.Dialog"

2

對於程序兼容性這可以在清單

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

設置主題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,並在alpha開始處添加了一個子佈局,以顯示以前活動的一部分。
  • 14

    對於程序兼容性,增加

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

    到活動中AndroidManifest

    0

    ,如果你是材料設計工作你應該使用@android:style/Theme.Material.Dialog.NoActionBar

    相關問題