无透明页边距的Android对话框(全屏)

无透明页边距的Android对话框(全屏),android,dialog,fullscreen,android-alertdialog,borderless,Android,Dialog,Fullscreen,Android Alertdialog,Borderless,我使用alertdialog builder创建了一个警报对话框。我想删除对话框左侧和右侧的空格。。。基本上是从一边延伸到另一边。我知道我可以给你一个活动而不是对话框,但我想保持按钮样式,在活动中实现该按钮样式需要为不同的SDK制作布局,这从长远来看并不方便 为什么我需要全宽? 因为我需要显示AdMob广告,如果它们不是全宽的,广告将不会加载 任何帮助都是感激的,因为我已经尝试了各种主题属性 谢谢, 阿德里安 PS:以下是我当前创建对话框的代码: AlertDialog.Builder aler

我使用alertdialog builder创建了一个警报对话框。我想删除对话框左侧和右侧的空格。。。基本上是从一边延伸到另一边。我知道我可以给你一个活动而不是对话框,但我想保持按钮样式,在活动中实现该按钮样式需要为不同的SDK制作布局,这从长远来看并不方便

为什么我需要全宽? 因为我需要显示AdMob广告,如果它们不是全宽的,广告将不会加载

任何帮助都是感激的,因为我已经尝试了各种主题属性

谢谢, 阿德里安

PS:以下是我当前创建对话框的代码:

AlertDialog.Builder alertDialogBuilder = new AlertDialog.Builder(new ContextThemeWrapper(this, R.style.DialogTheme));
    alertDialogBuilder.setInverseBackgroundForced(true);
    LayoutInflater inflater = this.getLayoutInflater();
    View view = inflater.inflate(R.layout.dial_dialog, null);

    AdView adView = (AdView) view.findViewById(R.id.adView);
    if (!application.getLicense().isValid()) {
        adView.loadAd(new AdRequestWrapper(this));
    }

    alertDialogBuilder.setView(view);
    alertDialogBuilder.setTitle(R.string.dial_dialog_title).setCancelable(false);
    alertDialogBuilder.setPositiveButton(R.string.dial_dialog_message_positive_text, new DialogInterface.OnClickListener() {
        public void onClick(DialogInterface dialog, int id) {
            dialog.dismiss();
        }
    });
    alertDialogBuilder.setNeutralButton(R.string.dial_dialog_message_neutral_text, new DialogInterface.OnClickListener() {
        public void onClick(DialogInterface dialog, int id) {
            dialog.dismiss();
        }
    });
    alertDialogBuilder.setNegativeButton(R.string.dial_dialog_message_negative_text, new DialogInterface.OnClickListener() {
        public void onClick(DialogInterface dialog, int id) {
            dialog.dismiss();
        }
    });
    AlertDialog alertDialog = alertDialogBuilder.create();
    alertDialog.show();
    alertDialog.getWindow().setLayout(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT);
PS2:这是一张我需要的图片。。。 我需要用红色来释放所有的空间。我对用黄色标记的空格没有任何问题。(它可以保留,也可以删除)

1)创建您自己的对话框,从对话框扩展并使用构造函数集样式,如下所示:

public MyDialog(Context c, Event e) {
        super(c, android.R.style.Theme_Light);
} 

2) 创建实例时,设置样式:

Dialog dialog = new Dialog(this, R.style.MyDialogTheme);

示例

我知道回答问题有点晚了,但按照我的食谱,我几乎解决了所有问题。基本上,我有以下对话框主题:

<style name="DialogTheme" parent="android:Theme.Holo.Light.Dialog">
    <item name="android:windowBackground">@drawable/screen_background_selector_light</item>
    <item name="android:windowIsFloating">true</item>
    <item name="android:windowMinWidthMajor">100%</item>
    <item name="android:windowMinWidthMinor">100%</item>
</style>

@可拖动/屏幕\背景\选择器\灯
真的
100%
100%
注意对screen\u background\u selector\u light的引用,这意味着我还必须添加screen\u background\u selector\u light.xml和(其依赖项background\u holo\u light.xml)。

除此之外,我只需指定活动即可使用此新主题:

<activity android:name=".zom.xyz.app.activity.MyActivity_" android:label="@string/activity_title" android:theme="@style/DialogTheme"/>

当然,也可以像其他活动一样创建它

至于我的另一个需要。。。我是这样做的。以下是活动的布局

<RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:focusable="true"
        android:focusableInTouchMode="true"
        android:paddingBottom="@dimen/activity_vertical_margin"
        android:paddingLeft="@dimen/activity_horizontal_margin"
        android:paddingRight="@dimen/activity_horizontal_margin"
        android:paddingTop="@dimen/activity_vertical_margin">

    INSERT_DIALOG_CONTENT_HERE

</RelativeLayout>

<LinearLayout
        style="?android:attr/buttonBarStyle"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal">

    <Button
            android:id="@+id/cancelButton"
            style="?android:attr/buttonBarButtonStyle"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_gravity="fill_vertical"
            android:layout_weight="1"
            android:text="@string/activity_message_negative_text"/>

    <Button
            android:id="@+id/skipButton"
            style="?android:attr/buttonBarButtonStyle"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_gravity="fill_vertical"
            android:layout_weight="1"
            android:text="@string/activity_message_neutral_text"/>

    <Button
            android:id="@+id/correctButton"
            style="?android:attr/buttonBarButtonStyle"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_gravity="fill_vertical"
            android:layout_weight="1"
            android:text="@string/activity_message_positive_text"/>
</LinearLayout>

在此处插入\u对话框\u内容\u

使用此布局和主题将使您完全感受到对话框的效果。

谢谢您的回复。我已经用我用来初始化对话框的实际代码编辑了我的初始问题。我已经在自定义主题(名为DialogTheme)中尝试了示例中的样式,但它们不起作用。如果在动画中使用透明活动,效果会更好…我宁愿使用活动,因为我可以使用对话框主题按钮和标题栏。可以这样做吗?是的。你可以这样做。但是你想要透明的边框,这样你就可以看到以前的活动内容。如果是这样的话。那么你必须使用透明主题活动。你也可以删除标题和状态栏。不,这就是重点。。。我不想要边界。基本上我想要一个活动大小的东西,但要有对话框的外观。然后选择dialouge活动或dialougefragment窗口。。。