AlertDialog介绍

AlertDialog拥有比Dialog更强大的设置和样式可供我们选择:
  1. 多功能设置:
    new AlertDialog.Builder(this)
    .setTitle("")
    .setCancelable(true)
    .setIcon(R.color.black_overlay)
    .setItems(R.layout.change_them1,null)
    .setMessage("msg")
    .setSingleChoiceItems()
    .setMultiChoiceItems()
    .setPositiveButton()
    .setNegativeButton()
    .setView()
    .show();

  2. 多种样式可选:

AlertDialog.THEME_TRADITIONAL --- 两个均分按钮 黑背景 iteme间有分割线
AlertDialog.THEME_HOLO_LIGHT --- 两个均分按钮 白背景 iteme间有分割线
AlertDialog.THEME_TRADITIONAL --- 两个均分按钮 透明内(类似与黑内) iteme间有分割线
AlertDialog.THEME_DEVICE_DEFAULT_DARK --- 两个靠右边的按钮 iteme间无分割线 白色字
AlertDialog.THEME_DEVICE_DEFAULT_LIGHT --- 两个靠右边的按钮 iteme间无分割线 黑色字

使用例子:
        AlertDialog alertDialog = new AlertDialog.Builder(this, AlertDialog.THEME_DEVICE_DEFAULT_DARK)
            .setPositiveButton("确定", null)
            .setNegativeButton("取消", null)
            //.setItems(new String[] { "11", "22" },null)
            //.setTitle("")
            .setMultiChoiceItems(new String[] { "11", "22" },new boolean[]{true,false},null)
            .create();
         alertDialog.show();
这里要注意:

Dialog、AlertDialog、button等的样式,会受到该Activity(或application)中的theme影响,在不同的theme下,dialog的样式也是不同的,如:在android:Theme.Light和=@android:style/Theme.Holo.Light下,dialog呈现不同的背景色和不同的PositiveButton按钮样式,虽然在Builder(this,theme)中AlertDialog.THEME_TRADITIONAL 也能改变,但二者改变后的效果还是有差别的。

APP在Android中的界面展示从上到下的情况:

状态栏--titleBar(apk名)--ActionBar/ToolBar--ActivityView,所以theme若是Theme.Light.NoTitleBar则去除apk名称那一条,而Theme.Light.NoTitleBar.FullScreen则是连状态栏也消失的展示;

Android系统自带样式(android:theme):

Theme.Dialog : Activity显示为对话框模式
Theme.NoTitleBar : 不显示应'A8程序标题栏
Theme.NoTitleBar.Fullscreen : 不显示应用程序标题栏,并全屏
Theme.Light :背景为白色
Theme.Light.NoTitleBar : 白色背景并无标题栏
Theme.Light.NoTitleBar.Fullscreen : 白色背景,无标题栏,全屏
Theme.Black : 背景黑色
Theme.Black.NoTitleBar : 黑色背景并无标题栏
Theme.Black.NoTitleBar.Fullscreen : 黑色背景,无标题栏,全屏
Theme.Wallpaper : 用系统桌面为应用程序背景
Theme.Wallpaper.NoTitleBar : 用系统桌面为应用程序背景,且无标题栏
Theme.Wallpaper.NoTitleBar.Fullscreen : 用系统桌面为应用程序背景,无标题栏,全屏
Theme.Translucent : 透明背景
Theme.Translucent.NoTitleBar : 透明色背景并无标题
Theme.Translucent.NoTitleBar.Fullscreen : 透明背景并无梇题,全屏
Theme.Panel : 面板风格显示
Theme.Light.Panel : 平板风格显示
android4.0之后出来的holo:
Theme Holo全屏显示样式,默认是黑背景,
Theme_Holo_Dialog 将activity显示成对话框的样式
Theme_Holo_Dialog_MinWidth 将activkty显示成对话框的样式,显示最小状'80�时,
Theme_Holo_DialogWhenLarge 将activity显示成对话框的样式,显示最大状态Theme_Holo_DialogWhenLarge_NoActionBar 将activity显示成对话框的样式,且没有action bar
Theme_Holo_Dialog_NoActionBar 将activity显示成对话框的样式,且没有action bar,默认状态
Theme_Holo_Dialog_NoActionBar_MinWidth 将activity显示成对话框的样式,且没有action bar,显示最小状怃时
Theme_Holo_NoActionBar 默认�%:A�态下,没有action bar的样式。
Theme_Holo_NoActionBar_Fullscreen 默��状态下,没有action bar且全屏的样式
Theme_Holo_Wallpaper 使用墙纸做为样式背景,默认状态下
Theme_Holo_Wallpaper_NoActionBar 使用墙纸做为样式背景,且没有action bar。
Theme_Holo_Panel 默认将一%G4��activity显示成一个对话框样式,区别于�Ϲ话框,这个没有外边框,没有任何样式元素只有一渪空的矩形框。
Theme_Holo_Light 默认样式,区别于黓背景,这个属于亮背景Theme_Holo_Light_Dialog 默��将一个activity显示成一个对话框样式,区别于黑背景,这个属于亮背'99�
Theme_holo_Light_xxx其他和默认样式一样,区别于这是亮背景

你可能感兴趣的:(AlertDialog介绍)