2012-11-14 92 views
2

enter image description here半透明對話框中的Android

您好,我想做到這一點看我的警告對話框,但不確定我應該怎麼做。我知道如何在android中獲得透明警報對話框的外觀,但我無法找到任何線索來讓它變得半透明。請留下一些意見或指導我應該如何開始這樣做。非常感謝!

更新: 對不起,我忘記包括實際上我正在使用XML與警報對話框主題,而不是正常的警報對話框。

回答

5

要查看基本活動未變暗:

dialog.getWindow().clearFlags(WindowManager.LayoutParams.FLAG_DIM_BEHIND); 

要使得對話框的背景半透明的,你必須設置背景顏色與阿爾法< 255(參見Color API)。

+0

實際上,我使用xml提醒對話框主題,而不是像通常那樣誇大警報對話框。已嘗試上述代碼並出現錯誤。猜測只適用於充氣警報對話框。無論如何感謝:) – Annabel

+0

好吧,出現什麼錯誤(編輯您的帖子)。其次,您可以繼承警報對話框主題以在xml中設置背景顏色。 – Bondax

3

你可以創造自定義對話框,它是指風格:

final Dialog dialog = new Dialog(context,R.style.cust_dialog); 

然後創造價值XML夾名爲dialog_style.xml:

<?xml version="1.0" encoding="utf-8"?> 

<resources> 
    <style name="cust_dialog"> 
    <item name="android:windowFrame">@null</item> 
    <item name="android:windowIsFloating">true</item> 
    <item name="android:windowContentOverlay">@null</item> 
    <item name="android:windowAnimationStyle">@android:style/Animation.Dialog</item> 
    <item name="android:windowBackground">@color/transparent_color</item> 
    <item name="android:windowSoftInputMode">stateUnspecified|adjustPan</item> 
    <item name="android:colorBackgroundCacheHint">@null</item> 
    <item name="android:textSize">30dp</item> 
    <item name="android:gravity">left</item> 
    </style> 
</resources> 

也創造color.xml:

<?xml version="1.0" encoding="utf-8"?> 
<resources> 
    <color name="transparent_color">#00000000</color> 
    </resources> 

由此您將獲得半透明對話框,

並且您可以根據需要控制半透明度。

希望能幫到你。

+0

我跟着給出的代碼謝謝你,但它變成了透明而不是半透明的... – Annabel

+0

@Annabel如果它解決了你的問題,只是接受它,謝謝 – frozenhill

0

添加此行。

dialog.setBackgroundColor(Color.argb(0,0,0,0);