2014-01-18 52 views
5

我已經創建了我自己的自定義對話框,它工作正常,但我想要將朦朧背景更改爲自定義模式(例如圖像文件或xml形狀)。我怎樣才能做到這一點?我不想改變調光,但我只是想的強度
注意,這種調光用一個模式Android對話框 - 自定義背景,而不是變暗或模糊

+0

你能顯示你想要實現的內容? –

+0

@GopalRao我找到了一個解決方案,解決了我的問題(我把它作爲答案發布),但我擔心它的效率,這是好的嗎?如果沒有,請給我一個更好的方法? –

回答

3

我找到了一個解決方法對於這個問題,我得出這個從@vipul米塔爾答案,
我應該設置對話框主題如下:

<item name="android:windowIsFloating">false</item> 
<item name="android:windowIsTranslucent">true</item> 
<item name="android:windowBackground">@android:color/transparent</item> 

有了這個主題我的對話將是:

  • 全屏因爲windowIsFloating設置爲false
  • 周邊地區是完全透明的因爲windowBackground設置爲@android:color/transparent

現在我的HOULD包裝用包裝材料播放周邊地區的作用我的對話框XML佈局的內容,在這種情況下,我選擇FrameLayout此:

<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:background="@drawable/dialog_back"> <!-- this is surrounding area drawable --> 

    <!-- dialog contents goes here --> 

</FrameLayout> 

這是我的最後一個對話框的截圖:
enter image description here

+0

嗯......不錯。類似的想法我有:-) –

0

更改對話框主題更換:

<style name="CustomDialogTheme" parent="@android:style/Theme.Dialog"> 
    <item name="android:windowBackground">@android:color/white</item> 
    <item name="android:windowIsFloating">false</item> 
    <item name="android:windowNoTitle">true</item> 
</style> 

在自定義對話框,當你調用super調用此:

public CustomDialog(Context context) { 
    super(context, R.style.CustomDialogTheme); 
} 
+0

感謝您的回覆,但這會改變對話框的背景,而不是對話框的周邊區域 –

+0

嘗試一下,這會改變對話框的背景。只需將android:windowBackground更改爲你想要的內容 –

+0

我不想更改對話框背景。相反,我想改變周邊地區的格局。此外,您已將'android:windowIsFloating'設置爲'false',將對話框拉伸至適合整個屏幕,而我不想要全屏對話框 –