全屏(或透明背景)对话框

时间:2013-08-06 13:39:45

标签: android alert android-alertdialog

我已经尝试了很多...... 理智最多... 我创造了这个主题

    <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> - &gt;不工作(我看到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));

如何获得trasnaprent背景? 这是一个屏幕(想象一下,全屏或透明的灰色部分,没有边距) Link to preview

2 个答案:

答案 0 :(得分:1)

如果您希望对话框透明,请使用:

<强> color.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 );

对于Dialog,请使用:

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

干杯

答案 1 :(得分:1)

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

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>