我已經解決了這個問題,並使用以下步驟創建自己的自定義彈出覆蓋了定製顏色的半透明疊加背景:
1 - 創建您的RES /價值/文件夾一個新的XML文件和將其命名爲styles.xml
2 - 這裏是您定義對話框屬性的位置。這是我的樣子。如果您想要替換在屏幕上顯示的默認半透明黑色疊加層,則必須將windowIsFloating
設置爲false,並將佈局的背景修改爲您想要的任何顏色。這是我的低於文件我用:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="CustomDialogTheme" parent="@android:style/Theme.Dialog">
<item name="android:windowBackground">@color/transparent_white</item>
<item name="android:windowIsFloating">false</item>
<item name="android:windowNoTitle">true</item>
</style>
</resources>
3 - 早在你的java代碼,創建對話框對象時,使用經過雙方的背景和主題的構造。例如。 myDialog = new Dialog(this, R.style.CustomDialogTheme);
(CustomDialogTheme是我在步驟2的styles.xml中指定的名稱屬性)
4 - 只需將對話框對象內容視圖設置爲您希望對話框看起來像的任何佈局。例如。 myDialog.setContentView(R.layout.my_custom_overlay);
如果你希望你的對話框出現在屏幕的中央,設置它的根元素的android:layout_gravity
到center
這擺脫了邊界,但它仍然留下了我的佈局周圍的黑色線..任何想法? – 2011-11-18 20:56:03