Material Dialogs的使用
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的使用相关推荐
- Material Dialogs库的使用
Material Dialogs 查看全文 http://www.taodudu.cc/news/show-4259806.html 相关文章: 芯片的IR drop是什么 神经网络编译器图层面IR ...
- 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 ...
- 最新最全的 Android 开源项目合集(一)
原文链接:https://github.com/opendigg/awesome-github-android-ui 抽屉菜单 MaterialDrawer ★7337 - 安卓抽屉效果实现方案 Si ...
- 最新最全的Android开源项目集合(转)
抽屉菜单 MaterialDrawer ★7337 - 安卓抽屉效果实现方案 Side-Menu.Android ★3865 - 创意边侧菜单 FlowingDrawer ★1744 - 向右滑动流动 ...
- GitHub上受欢迎的Android UI Library
内容 抽屉菜单 ListView WebView SwitchButton 按钮 点赞按钮 进度条 TabLayout 图标 下拉刷新 ViewPager 图表(Chart) 菜单(Menu) 浮动菜 ...
- Android开发:开源库集合
开源库大全 目录 抽屉菜单 ListView WebView SwitchButton 按钮 点赞按钮 进度条 TabLayout 图标 下拉刷新 ViewPager 图表(Chart) 菜单(Men ...
- 最全面鸿蒙系统开发的相关资料收录
开发 本示例基于 OpenHarmony 下的 JavaScript UI 框架,进行项目目录解读,JS FA.常用和自定义组件.用户交互.JS 动画的实现,通过本示例可以基本了解和学习到 JavaS ...
- 转载-Android 前沿UI
原文地址:https://blog.csdn.net/qq_35224776/article/details/86064712 抽屉菜单 MaterialDrawer ★7337 - 安卓抽屉效果实现 ...
- GitHub 上排名前 100 的 Android 开源库介绍
转自:http://www.codeceo.com/article/github-top-100-android-libs.html 本项目主要对目前 GitHub 上排名前 100 的 Androi ...
- 最全收集整理GitHub上受欢迎的Android UI Library
抽屉菜单 ListView WebView SwitchButton 按钮 点赞按钮 进度条 TabLayout 图标 下拉刷新 ViewPager 图表(Chart) 菜单(Menu) 浮动菜单 对 ...
最新文章
- 用Ghostscript API将PDF格式转换为图像格式(C#)
- 在服务器端渲染完毕的 Angular Component,在客户端还会重新渲染一次吗?
- [转]ODAC 应用技巧 (一)使用 ODAC 的 Net 方式
- 漫步凸分析三——凸集代数
- AI实战分享 | 基于CANN的辅助驾驶应用案例
- eclipse 安装python开发工具 PyDev
- datagridview表中插入一行_excel表格技巧:Ctrl+T在超级表中的妙用
- 华为鸿蒙系统支持什么手机_华为鸿蒙系统支持的手机型号大全,鸿蒙系统2.0支持手机型号汇总[图]...
- 微服务面试题 - Spring Cloud
- 什么是黑帽seo?黑帽seo技术盘点。
- [Lync]lync同步通讯簿
- docker安装php拓展
- 产业的互联网化是什么时代_新时代:为什么互联网公司不应忽视65岁以上的一代...
- SQLiteSpy执行Sql语句提示No such collation sequence : PhoneBook
- C/C++编程学习:百行代码实现小游戏(剪刀石头布)
- 笔记本光驱在计算机里不显示器,电脑开机硬盘灯一直亮不闪的 光驱没反应显示器不显示 风扇都转的...
- php 生成8位数唯一的激活码
- linux设备驱动之USB数据传输分析
- poj 3230 Travel
- 【读书笔记】《腾讯传》读书笔记
热门文章
- 计算机论文刊物发表,计算机论文发表流程
- 代写品牌故事-品牌故事如何写才感人
- 科技品牌软文营销怎么讲故事
- 旧计算机硬盘驱动器可以进口吗,解决方案:可以在新计算机上安装旧的机械硬盘驱动器吗?台式计算机添加新旧机械硬盘+分区教程...
- 如何将经典算法与人工智能结合?NeurIPS 2021
- flash动画入门篇
- 华为项目管理法读后小结
- 高效的国产CAD设计工具,云端三维CAD设计平台:CrownCAD
- python 登录人人网爬取源码
- java nginx报502,Nginx 502错误排查及解决办法