MaterialDesignDialog

Introduction: MaterialDesign 的 Dialog,向下兼容到 API8
More: Author   ReportBugs   DemoAPK   
Tags:
MaterialDesign-dialog-

把 Material Design 风格的 Dialog 兼容到 API8

AndroidStudio 使用

dependencies {
   compile 'com.lb:materialdesigndialog:1.0.0'
}

添加加载中的 Dialog

MaterialDialogLoading dialog = new MaterialDialogLoading(this);
dialog.setText("正在加载");
dialog.show();

默认提供 MaterialDialogNormal 和 MaterialDialogInput 两个类型的 Dialog,后期会陆续增加更多类型

  • MaterialDialogNormal:显示一个提醒的 Dialog

    • 通过 setTitle 和 setIcon 可以设置 Dialog 的图标显示和标题文本

        dialog.setIcon(R.mipmap.ic_launcher);//设置图标,不设置就不显示图标
        dialog.setTitle("Material Design");//设置 Dialog 的标题
      
    • 通过 dialog.setMessage()方法,可以设置 Dialog 提醒的文本内容

        dialog.setMessage(msg);
      
  • MaterialDialogInput:显示一个带输入框的 Dialog

      getUserInput();//获取用户输入内容
      setEditTextHintText();//设置 EditText 的提示内容
      setEditTextInputType();//设置 EditText 的输入内容的类型,可以输入密码,电话。。。
      getEditText();//获取输入框对象,可以用于用户输入之后做动画提醒和用户交互等
    

可以继承 DialogBase 基类和 DialogWithTitle 来扩展更多的布局形式

  • DialogBase 是 Material Design 风格的 Dialog 的最基类,其主体分为三个部分

    • title 部分:主要是负责 Dialog 的标题部分的布局
    • content 部分:主要负责 Dialog 正文显示部分的布局
    • bottom 部分:负责底部按钮部分的布局 继承之后实现 initTitle()、initContent()、initBottom()三个方法,给三个部分填充不同的布局
  • DialogWithTitle 是一个继承自 DialogBase 的子类,该类已经实现了父类的 initTitle()、initBottom()两个方法,已经默认添加了 Dialog 的标题部分和底部按钮部分

    • 子类继承 DialogWithTitle,只需实现 initContent()方法,加载一个正文部分的布局就能显示 Dialog
    • 默认提供的 MaterialDialogNormal 和 MaterialDialogInput 两种 Dialog 继承自 DialogWithTitle
Apps
About Me
GitHub: Trinea
Facebook: Dev Tools