您好,我想做到這一點看我的警告對話框,但不確定我應該怎麼做。我知道如何在android中獲得透明警報對話框的外觀,但我無法找到任何線索來讓它變得半透明。請留下一些意見或指導我應該如何開始這樣做。非常感謝!
更新: 對不起,我忘記包括實際上我正在使用XML與警報對話框主題,而不是正常的警報對話框。
您好,我想做到這一點看我的警告對話框,但不確定我應該怎麼做。我知道如何在android中獲得透明警報對話框的外觀,但我無法找到任何線索來讓它變得半透明。請留下一些意見或指導我應該如何開始這樣做。非常感謝!
更新: 對不起,我忘記包括實際上我正在使用XML與警報對話框主題,而不是正常的警報對話框。
要查看基本活動未變暗:
dialog.getWindow().clearFlags(WindowManager.LayoutParams.FLAG_DIM_BEHIND);
要使得對話框的背景半透明的,你必須設置背景顏色與阿爾法< 255(參見Color
API)。
你可以創造自定義對話框,它是指風格:
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>
由此您將獲得半透明對話框,
並且您可以根據需要控制半透明度。
希望能幫到你。
我跟着給出的代碼謝謝你,但它變成了透明而不是半透明的... – Annabel
@Annabel如果它解決了你的問題,只是接受它,謝謝 – frozenhill
添加此行。
dialog.setBackgroundColor(Color.argb(0,0,0,0);
實際上,我使用xml提醒對話框主題,而不是像通常那樣誇大警報對話框。已嘗試上述代碼並出現錯誤。猜測只適用於充氣警報對話框。無論如何感謝:) – Annabel
好吧,出現什麼錯誤(編輯您的帖子)。其次,您可以繼承警報對話框主題以在xml中設置背景顏色。 – Bondax