2014-10-04 70 views
1

我试图创建警报对话框看起来像这样AlertDialog的样式和颜色

enter image description here

但我想不通为什么,当我的设备上启动应用程序,我得到的对话框看起来像这样: enter image description here

我跟着很多教程,仍然看到这样的警告对话框。 代码很标准,所以我不会发布它,但如果需要,我会。 我的设备在4.3 android上运行。 我的问题:警报风格是否随设备API Lvl改变?如果是这样,我能做些什么来创建像第一张图片上的对话框?我会创建与布局inflater自定义对话框,但我想有那些很酷的按钮。

回答

3

的问题是与主题。

第一个屏幕截图中的对话框使用“Holo Light”主题,而第二个使用“主题”主题。

您有两个选项可用于创建AlertDialog,如第一张图中的AlertDialog。

  1. 您可以更改主题,为您的应用或活动从Holo.Light继承(见Android's Styles & Themes guide)。这将改变AlertDialogs在整个应用程序或活动中的外观。

  2. 您可以通过以下方式设置主题为单个AlertDialog:

new AlertDialog.Builder(new ContextThemeWrapper(this, android.R.style.Theme_Holo_Light_Dialog)) .setTitle("Demo Dialog") .setMessage("This AlertDialog uses the theme android.R.style.Theme_Holo_Light_Dialog.") .create() .show();

这些选项会产生以下结果:

AlertDialog with Holo Light theme

+0

尊重:O谢谢,这解释了很多。 – user3231871 2014-10-04 20:12:41

0

您应该在android中创建自定义对话框。

http://www.mkyong.com/android/android-custom-dialog-example/

+0

这是不是创建自定义对话框的问题,而是如何让按钮看起来像那样?就像第一张照片一样。 – user3231871 2014-10-04 19:25:13

+0

如果您创建自定义对话框,那么您将添加lauout。在此布局中,您可以创建像第一个图片一样的UI。 – 2014-10-04 19:27:16

+0

你读过我写的吗? – user3231871 2014-10-04 19:29:25