github地址:https://github.com/afollestad/material-dialogs

在build.gradle中添加依赖

compile 'com.afollestad.material-dialogs:core:0.9.1.0'
compile 'com.afollestad.material-dialogs:commons:0.9.1.0'

activity_main.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="match_parent"android:layout_height="match_parent"android:orientation="vertical"><Button
        android:id="@+id/button"android:layout_width="match_parent"android:layout_height="wrap_content"android:text="点击我0"/><Button
        android:id="@+id/button1"android:layout_marginTop="20dp"android:layout_width="match_parent"android:layout_height="wrap_content"android:text="点击我1"/><Button
        android:id="@+id/button2"android:layout_marginTop="20dp"android:layout_width="match_parent"android:layout_height="wrap_content"android:text="点击我2"/><Button
        android:id="@+id/button3"android:layout_marginTop="20dp"android:layout_width="match_parent"android:layout_height="wrap_content"android:text="单选"/><Button
        android:id="@+id/button4"android:layout_marginTop="20dp"android:layout_width="match_parent"android:layout_height="wrap_content"android:text="多选"/>
</LinearLayout>

MainActivity.java

package dialogdemo.zhoujian.com.dialogdemo;import android.graphics.Color;
import android.os.Bundle;
import android.support.annotation.NonNull;
import android.support.v7.app.AppCompatActivity;
import android.text.TextUtils;
import android.view.View;
import android.widget.Button;
import android.widget.Toast;
import com.afollestad.materialdialogs.DialogAction;
import com.afollestad.materialdialogs.GravityEnum;
import com.afollestad.materialdialogs.MaterialDialog;public class MainActivity extends AppCompatActivity {private MaterialDialog.Builder mBuilder;private MaterialDialog mMaterialDialog;private Button mButton;private Button mButton1;private Button mButton2;private Button mButton3;private Button mButton4;private String[] stocks = {"海虹控股", "科大讯飞", "中科创达", "掌阅科技", "沃特股份"};@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);mButton = (Button) findViewById(R.id.button);mButton1 = (Button) findViewById(R.id.button1);mButton2 = (Button) findViewById(R.id.button2);mButton3 = (Button) findViewById(R.id.button3);mButton4 = (Button) findViewById(R.id.button4);mButton.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View view) {dialogComeOne();}});mButton1.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View view) {dialogComeTwo();}});mButton2.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View view) {dialogComeThree();}});mButton3.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View view) {singleChiose();}});mButton4.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View view) {mutiChoise();}});}private void mutiChoise() {mBuilder = new MaterialDialog.Builder(MainActivity.this);mBuilder.title("选择股票");mBuilder.titleGravity(GravityEnum.CENTER);mBuilder.titleColor(Color.parseColor("#000000"));mBuilder.items(stocks);mBuilder.autoDismiss(false);mBuilder.widgetColor(Color.RED);mBuilder.positiveText("确定");mBuilder.onPositive(new MaterialDialog.SingleButtonCallback() {@Overridepublic void onClick(@NonNull MaterialDialog dialog, @NonNull DialogAction which) {}});mBuilder.itemsCallbackMultiChoice(null, new MaterialDialog.ListCallbackMultiChoice() {@Overridepublic boolean onSelection(MaterialDialog dialog, Integer[] which, CharSequence[] text) {if (text == null) {Toast.makeText(MainActivity.this, "请选择股票", Toast.LENGTH_LONG).show();} else {StringBuffer sb = new StringBuffer();for (int i = 0; i < text.length; i++) {sb.append(text[i]);}Toast.makeText(MainActivity.this, sb.toString(), Toast.LENGTH_SHORT).show();dialog.dismiss();}return false;}});mMaterialDialog = mBuilder.build();mMaterialDialog.show();}private void singleChiose() {mBuilder = new MaterialDialog.Builder(MainActivity.this);mBuilder.title("选择股票");mBuilder.titleGravity(GravityEnum.CENTER);mBuilder.titleColor(Color.parseColor("#000000"));mBuilder.items(stocks);mBuilder.autoDismiss(false);mBuilder.widgetColor(Color.RED);mBuilder.positiveText("确定");mBuilder.onPositive(new MaterialDialog.SingleButtonCallback() {@Overridepublic void onClick(@NonNull MaterialDialog dialog, @NonNull DialogAction which) {}});mBuilder.itemsCallbackSingleChoice(-1, new MaterialDialog.ListCallbackSingleChoice() {@Overridepublic boolean onSelection(MaterialDialog dialog, View itemView, int which, CharSequence text) {if (TextUtils.isEmpty(text)) {Toast.makeText(MainActivity.this, "请选择股票", Toast.LENGTH_LONG).show();} else {Toast.makeText(MainActivity.this, text, Toast.LENGTH_LONG).show();dialog.dismiss();}return false;}});mMaterialDialog = mBuilder.build();mMaterialDialog.show();}private void dialogComeThree() {mBuilder = new MaterialDialog.Builder(MainActivity.this);mBuilder.title("选择股票");mBuilder.titleGravity(GravityEnum.CENTER);mBuilder.titleColor(Color.parseColor("#000000"));mBuilder.items(stocks);mBuilder.autoDismiss(true);mBuilder.itemsCallback(new MaterialDialog.ListCallback() {@Overridepublic void onSelection(MaterialDialog dialog, View itemView, int position, CharSequence text) {Toast.makeText(MainActivity.this, text, Toast.LENGTH_SHORT).show();}});mMaterialDialog = mBuilder.build();mMaterialDialog.show();}private void dialogComeTwo() {mBuilder = new MaterialDialog.Builder(MainActivity.this);mBuilder.title("淘牛指数");mBuilder.titleGravity(GravityEnum.CENTER);mBuilder.titleColor(Color.parseColor("#000000"));mBuilder.content("针对所有讲师的图文直播、内参、问股及用户搜索热度相关个股利用大数据检索,根据量化策略筛选出对应个股的热度指数,指数越高与讲师关联度越强.(此列表2分钟更新一次)");mBuilder.contentColor(Color.parseColor("#000000"));mMaterialDialog = mBuilder.build();mMaterialDialog.show();}private void dialogComeOne() {mBuilder = new MaterialDialog.Builder(MainActivity.this);mBuilder.title("提示");mBuilder.titleColor(Color.parseColor("#000000"));mBuilder.content("在\"设置-应用管理-淘牛邦-权限\"中开启存储空间、电话、相机权限,以便正常使用淘牛邦功能");mBuilder.contentColor(Color.parseColor("#000000"));mBuilder.positiveText("确定");mBuilder.titleGravity(GravityEnum.CENTER);mBuilder.buttonsGravity(GravityEnum.START);mBuilder.negativeText("去设置");mBuilder.cancelable(false);mMaterialDialog = mBuilder.build();mMaterialDialog.show();mBuilder.onAny(new MaterialDialog.SingleButtonCallback() {@Overridepublic void onClick(@NonNull MaterialDialog dialog, @NonNull DialogAction which) {if (which == DialogAction.POSITIVE) {Toast.makeText(MainActivity.this, "确定", Toast.LENGTH_LONG).show();mMaterialDialog.dismiss();} else if (which == DialogAction.NEGATIVE) {Toast.makeText(MainActivity.this, "去设置", Toast.LENGTH_LONG).show();mMaterialDialog.dismiss();}}});}
}

Material Dialogs的使用相关推荐

  1. Material Dialogs库的使用

    Material Dialogs 查看全文 http://www.taodudu.cc/news/show-4259806.html 相关文章: 芯片的IR drop是什么 神经网络编译器图层面IR ...

  2. Android Material Components – MaterialAlertDialog

    Material Design 2.0 is out and we can't wait to get our hands on Dialogs. In this tutorial, we'll be ...

  3. 最新最全的 Android 开源项目合集(一)

    原文链接:https://github.com/opendigg/awesome-github-android-ui 抽屉菜单 MaterialDrawer ★7337 - 安卓抽屉效果实现方案 Si ...

  4. 最新最全的Android开源项目集合(转)

    抽屉菜单 MaterialDrawer ★7337 - 安卓抽屉效果实现方案 Side-Menu.Android ★3865 - 创意边侧菜单 FlowingDrawer ★1744 - 向右滑动流动 ...

  5. GitHub上受欢迎的Android UI Library

    内容 抽屉菜单 ListView WebView SwitchButton 按钮 点赞按钮 进度条 TabLayout 图标 下拉刷新 ViewPager 图表(Chart) 菜单(Menu) 浮动菜 ...

  6. Android开发:开源库集合

    开源库大全 目录 抽屉菜单 ListView WebView SwitchButton 按钮 点赞按钮 进度条 TabLayout 图标 下拉刷新 ViewPager 图表(Chart) 菜单(Men ...

  7. 最全面鸿蒙系统开发的相关资料收录

    开发 本示例基于 OpenHarmony 下的 JavaScript UI 框架,进行项目目录解读,JS FA.常用和自定义组件.用户交互.JS 动画的实现,通过本示例可以基本了解和学习到 JavaS ...

  8. 转载-Android 前沿UI

    原文地址:https://blog.csdn.net/qq_35224776/article/details/86064712 抽屉菜单 MaterialDrawer ★7337 - 安卓抽屉效果实现 ...

  9. GitHub 上排名前 100 的 Android 开源库介绍

    转自:http://www.codeceo.com/article/github-top-100-android-libs.html 本项目主要对目前 GitHub 上排名前 100 的 Androi ...

  10. 最全收集整理GitHub上受欢迎的Android UI Library

    抽屉菜单 ListView WebView SwitchButton 按钮 点赞按钮 进度条 TabLayout 图标 下拉刷新 ViewPager 图表(Chart) 菜单(Menu) 浮动菜单 对 ...

最新文章

  1. 用Ghostscript API将PDF格式转换为图像格式(C#)
  2. 在服务器端渲染完毕的 Angular Component,在客户端还会重新渲染一次吗?
  3. [转]ODAC 应用技巧 (一)使用 ODAC 的 Net 方式
  4. 漫步凸分析三——凸集代数
  5. AI实战分享 | 基于CANN的辅助驾驶应用案例
  6. eclipse 安装python开发工具 PyDev
  7. datagridview表中插入一行_excel表格技巧:Ctrl+T在超级表中的妙用
  8. 华为鸿蒙系统支持什么手机_华为鸿蒙系统支持的手机型号大全,鸿蒙系统2.0支持手机型号汇总[图]...
  9. 微服务面试题 - Spring Cloud
  10. 什么是黑帽seo?黑帽seo技术盘点。
  11. [Lync]lync同步通讯簿
  12. docker安装php拓展
  13. 产业的互联网化是什么时代_新时代:为什么互联网公司不应忽视65岁以上的一代...
  14. SQLiteSpy执行Sql语句提示No such collation sequence : PhoneBook
  15. C/C++编程学习:百行代码实现小游戏(剪刀石头布)
  16. 笔记本光驱在计算机里不显示器,电脑开机硬盘灯一直亮不闪的 光驱没反应显示器不显示 风扇都转的...
  17. php 生成8位数唯一的激活码
  18. linux设备驱动之USB数据传输分析
  19. poj 3230 Travel
  20. 【读书笔记】《腾讯传》读书笔记

热门文章

  1. 计算机论文刊物发表,计算机论文发表流程
  2. 代写品牌故事-品牌故事如何写才感人
  3. 科技品牌软文营销怎么讲故事
  4. 旧计算机硬盘驱动器可以进口吗,解决方案:可以在新计算机上安装旧的机械硬盘驱动器吗?台式计算机添加新旧机械硬盘+分区教程...
  5. 如何将经典算法与人工智能结合?NeurIPS 2021
  6. flash动画入门篇
  7. 华为项目管理法读后小结
  8. 高效的国产CAD设计工具,云端三维CAD设计平台:CrownCAD
  9. python 登录人人网爬取源码
  10. java nginx报502,Nginx 502错误排查及解决办法