0

我已经尝试了很多...没什么...我创建了这个主题

    <style name="MyDialogTheme" parent="android:Theme.Dialog">
        <!-- Fill the screen -->
        <item name="android:layout_width">fill_parent</item>
        <item name="android:layout_height">fill_parent</item>

        <!-- No backgrounds, titles or window float -->
        <item name="android:windowBackground">@null</item>
        <item name="android:windowNoTitle">true</item>
        <item name="android:windowIsFloating">false</item>      

        <!-- Just to prove it's working -->
        <item name="android:background">#ff0000</item>
    </style>

<item name="android:windowBackground">@null</item>-> 不工作(我看到 ff0000 的红色背景)

同样这个

 final AlertDialog.Builder helpBuilder = new AlertDialog.Builder(this,Android.R.style.Theme_Translucent_NoTitleBar_Fullscreen);

 helpDialog.getWindow().setBackgroundDrawable(new ColorDrawable(android.graphics.Color.TRANSPARENT));

如何获得一个透明的背景?这是一个屏幕(想象全屏或透明的灰色部分,没有边距) 链接到预览

4

2 回答 2

3

试试这个,将显示具有透明背景的全屏加载对话框

Dialog dialog = new Dialog(Wallpapers.this);
dialog = new Dialog(context);
               dialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
               dialog.setContentView(R.layout.dialog);
               dialog.setCancelable(false);
               dialog.getWindow().setBackgroundDrawable(new ColorDrawable(android.graphics.Color.TRANSPARENT));
               dialog.show();

在 (res/layout/dialog.xml) 中创建 xml 布局并将此代码放入其中

<?xml version="1.0" encoding="utf-8"?>
<ProgressBar xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent" >
</ProgressBar>
于 2013-08-06T14:11:03.870 回答
1

如果你希望你的对话框是透明的,使用这个:

颜色.xml

<color name="transparent">#00000000</color>

布局:

android:background="@color/transparent"

对于弹出全屏使用这个:

Display display = getWindowManager().getDefaultDisplay(); 
int width = display.getWidth();  // deprecated
int height = display.getHeight();  // deprecated

showAtLocation(layout, Gravity.NO_GRAVITY,width , height );

对于对话框使用这个:

 getWindow().setLayout(LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT);

干杯

于 2013-08-06T13:58:48.430 回答