更改AlertDialog的样式

时间:2011-11-04 15:41:33

标签: android coding-style dialog themes android-gui

当我运行此代码时,会显示警告对话框,但对话框周围有一个白色边框,边框也很小。我不想要这个白色边框,我希望有90度角的真正角落。我希望你明白我想做什么。

        AlertDialog.Builder ad = new AlertDialog.Builder(this);
        Button bbb=new Button(MvcnContactList.this);
        ad.setView(bbb);
        alertDialog = ad.create();
        alertDialog.show();

enter image description here

有没有办法设置警告对话框的样式,但没有文字颜色或文字大小或类似的东西......我想设置警告对话框的边框,所以设置一个主题可能是这个问题的解决方案。但我不知道要覆盖哪些属性。

谢谢,

编辑: 例如,这个样式将textColor覆盖为00FF00,这很酷,但是我应该覆盖哪个属性以使角落不圆并且去掉那个白色的钻孔

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <style name="AlertDialogCustom" parent="@android:style/AlertDialog">
        <item name="android:textColor">#00FF00</item>
        <item name="android:typeface">monospace</item>
        <item name="android:textSize">10sp</item>
    </style>
</resources>

2 个答案:

答案 0 :(得分:15)

我找到了包装器的解决方案,您可以在其中为当前上下文中的任何内容设置主题(样式)。我将R.style.MyTheme设置为我的警报对话框,我根据自己的喜好定制了该视图。

ContextThemeWrapper ctw = new ContextThemeWrapper( this, R.style.MyTheme );
        AlertDialog.Builder builder= new AlertDialog.Builder( ctw );

答案 1 :(得分:1)

你自己回答了你的问题,但这对我不起作用,所以我的回答希望对所有需要帮助的人有所帮助:

<style name="PauseDialog" parent="@android:style/Theme.Dialog">
        <item name="android:windowNoTitle">true</item>
        <item name="android:windowBackground">@android:color/transparent</item>

</style>

将此样式放在res \ values \ styles.xml文件中,只需在您的Manifest中将活动主题设置为它。像这样:

android:theme="@style/PauseDialog"