什么是AlertDialog的默认v7 compat主题

时间:2014-12-31 18:42:16

标签: android

在我的应用中,我使用Theme.AppCompat.Light.DarkActionBar作为我的应用的基础。 当我创建AlertDialog时,我正在使用创建它而没有特定主题。 现在我想更新对话框中的一些颜色,但我不知道我需要用作AlertDialog的父主题的主题是什么。 我尝试了Theme.Holo.DialogTheme.AppCompat.Light.Dialog,但事实并非如此。 感谢

4 个答案:

答案 0 :(得分:0)

尝试parent="@android:style/Theme.Dialog"

答案 1 :(得分:0)

我自动回答问题......

这是v7 compat light主题的默认Dialog主题(它需要更新Dialog宽度(我不知道是什么原因)。

    @android:扪/ dialog_min_width_major     @android:扪/ dialog_min_width_minor

答案 2 :(得分:0)

支持库(遗憾地)没有对话框主题,至少现在还没有。

但是,有一些第三方库允许您拥有材料设计对话框,例如AlertDailogPro

答案 3 :(得分:0)

使用新的AppCompat v22.1,您可以使用新的android.support.v7.app.AlertDialog

只需使用这样的代码(当然,在您的情况下,您必须使用自定义布局来获得进度条)

import android.support.v7.app.AlertDialog

AlertDialog.Builder builder =
       new AlertDialog.Builder(this, R.style.AppCompatAlertDialogStyle);
            builder.setTitle("Dialog");
            builder.setMessage("Lorem ipsum dolor ....");
            builder.setPositiveButton("OK", null);
            builder.setNegativeButton("Cancel", null);
            builder.show();

使用这样的风格:

<style name="AppCompatAlertDialogStyle" parent="Theme.AppCompat.Light.Dialog.Alert">
        <item name="colorAccent">#FFCC00</item>
        <item name="android:textColorPrimary">#FFFFFF</item>
        <item name="android:background">#5fa3d0</item>
    </style>
相关问题