All Projects → liying2008 → Smartisandialog

liying2008 / Smartisandialog

Licence: apache-2.0
Smartisan style Dialog.

Programming Languages

java
68154 projects - #9 most used programming language

Projects that are alternatives of or similar to Smartisandialog

Gerador Validador Cpf
Biblioteca JS open-source para gerar e validar CPF.
Stars: ✭ 312 (+845.45%)
Mutual labels:  open-source, library
Fakeit
The Kotlin fake data generator library!
Stars: ✭ 482 (+1360.61%)
Mutual labels:  open-source, library
Aestheticdialogs
📱 An Android Library for 💫fluid, 😍beautiful, 🎨custom Dialogs.
Stars: ✭ 352 (+966.67%)
Mutual labels:  library, dialog
Simple Sh Datascience
A collection of Bash scripts and Dockerfiles to install data science Tool, Lib and application
Stars: ✭ 32 (-3.03%)
Mutual labels:  application, library
Sweet Modal Vue
The sweetest library to happen to modals.
Stars: ✭ 682 (+1966.67%)
Mutual labels:  library, dialog
Netdisco
A web-based network management tool.
Stars: ✭ 291 (+781.82%)
Mutual labels:  application, open-source
Material Kit React Native
Material Kit React Native
Stars: ✭ 424 (+1184.85%)
Mutual labels:  android-app, open-source
android-versioninfo
A version info widget for Android. Material style.
Stars: ✭ 21 (-36.36%)
Mutual labels:  dialog, android-app
Rando.js
The world's easiest, most powerful random function.
Stars: ✭ 659 (+1896.97%)
Mutual labels:  open-source, library
Ngx Ui
🚀 Style and Component Library for Angular
Stars: ✭ 534 (+1518.18%)
Mutual labels:  library, dialog
Length.js
📏 JavaScript library for length units conversion.
Stars: ✭ 292 (+784.85%)
Mutual labels:  open-source, library
Androidlibs
🔥正在成为史上最全分类 Android 开源大全~~~~(长期更新 Star 一下吧)
Stars: ✭ 7,148 (+21560.61%)
Mutual labels:  library, dialog
Ngx Smart Modal
Modal/Dialog component crafted for Angular
Stars: ✭ 256 (+675.76%)
Mutual labels:  library, dialog
To lang
Translate Ruby strings and arrays with Google Translate.
Stars: ✭ 303 (+818.18%)
Mutual labels:  application, library
FireFiles
Powerful Android File Manager for everything that runs on Android OS (Android TV, Android Watch, Mobile, etc)
Stars: ✭ 37 (+12.12%)
Mutual labels:  application, android-app
Awesome Android Ui
😎 A curated list of awesome Android UI/UX libraries
Stars: ✭ 353 (+969.7%)
Mutual labels:  android-app, library
Simpler
Simpler是一款轻量级的第三方微博应用,具有微博的基础功能,兼有外观优雅,运行流畅,内存占用低,省电省流量等特点。
Stars: ✭ 27 (-18.18%)
Mutual labels:  application, android-app
Ionic-ElastiChat-with-Images
Ionic Magic Chat with Angular Elastic, Autolinker.js and more!
Stars: ✭ 66 (+100%)
Mutual labels:  application, android-app
Tutoshowcase
A simple and Elegant Showcase view for Android
Stars: ✭ 499 (+1412.12%)
Mutual labels:  application, library
Diycode
[暂停维护]diycode android app
Stars: ✭ 931 (+2721.21%)
Mutual labels:  android-app, application

SmartisanDialog - Smartisan风格的Dialog。

Download license 微博

Download Demo Apk

屏幕截图(Screenshots)

dialog_show

引入(Download)

Use Gradle

compile 'cc.duduhuo.dialog:smartisan-dialog:1.1.1'

Or Maven

<dependency>
  <groupId>cc.duduhuo.dialog</groupId>
  <artifactId>smartisan-dialog</artifactId>
  <version>1.1.1</version>
  <type>pom</type>
</dependency>

使用(Usage)

显示普通Dialog

NormalDialog

final NormalDialog dialog = SmartisanDialog.createNormalDialog(this);
dialog.setTitle("这是标题")
    .setMsg("对话框信息")
    .setMsgGravity(Gravity.CENTER)
    .setLeftBtnText("确定")   // 设置文本的按钮会显示,不设置文本则不显示
    .setRightBtnText("取消")
    .show();
// 设置点击监听(下同,不再解释)
dialog.setOnSelectListener(new NormalDialog.OnSelectListener() {
    @Override
    public void onLeftSelect() {
        Toast.makeText(MainActivity.this, "onLeftSelect", Toast.LENGTH_SHORT).show();
        dialog.dismiss();
    }

    @Override
    public void onRightSelect() {
        Toast.makeText(MainActivity.this, "onRightSelect", Toast.LENGTH_SHORT).show();
        dialog.dismiss();
    }
});

显示带两个选项的Dialog

TwoOptionsDialog

final TwoOptionsDialog dialog = SmartisanDialog.createTwoOptionsDialog(this);
dialog.setTitle("选择一个选项")
    .setOp1Text("第一个选项")   // 设置第一个选项的文本
    .setOp2Text("第二个选项")   // 设置第二个选项的文本
    .show();
dialog.setOnSelectListener(new TwoOptionsDialog.OnSelectListener() {
    @Override
    public void onOp1() {
        Toast.makeText(MainActivity.this, "onOp1", Toast.LENGTH_SHORT).show();
        dialog.dismiss();
    }

    @Override
    public void onOp2() {
        Toast.makeText(MainActivity.this, "onOp2", Toast.LENGTH_SHORT).show();
        dialog.dismiss();
    }
});

显示带三个选项的Dialog

ThreeOptionsDialog

final ThreeOptionsDialog dialog = SmartisanDialog.createThreeOptionsDialog(this);
dialog.setOp1Text("选项1")
    .setOp2Text("选项2")
    .setOp3Text("选项3")
    .show();
dialog.setOnSelectListener(new ThreeOptionsDialog.OnSelectListener() {
    @Override
    public void onOp1() {
        Toast.makeText(MainActivity.this, "onOp1", Toast.LENGTH_SHORT).show();
        dialog.dismiss();
    }

    @Override
    public void onOp2() {
        Toast.makeText(MainActivity.this, "onOp2", Toast.LENGTH_SHORT).show();
        dialog.dismiss();
    }

    @Override
    public void onOp3() {
        Toast.makeText(MainActivity.this, "onOp3", Toast.LENGTH_SHORT).show();
        dialog.dismiss();
    }
});

显示警告Dialog

WarningDialog

final WarningDialog dialog = SmartisanDialog.createWarningDialog(this);
dialog.setTitle("确定退出登录吗")
    .setConfirmText("退出登录")
    .show();
dialog.setOnConfirmListener(new WarningDialog.OnConfirmListener() {
    @Override
    public void onConfirm() {
        Toast.makeText(MainActivity.this, "onConfirm", Toast.LENGTH_SHORT).show();
        dialog.dismiss();
    }
});

显示选项列表Dialog

OptionListDialog

String[] options = new String[]{"选项1", "选项2", "选项3", "选项4", "选项5", "选项6"};
final OptionListDialog dialog = SmartisanDialog.createOptionListDialog(this);
dialog.setTitle("请选择一个选项")
    .setOptionList(options)
    .setLastOption("选项5")   // 上次选择的选项
    .setItemGravity(Gravity.CENTER) // Item是居左、居中还是居右
    .setLastColor(0xFF40B64A)   // 上次选择的选项显示的颜色,用于区分
    .show();
// setOnOptionItemSelectListener()方法必须在show()方法之后调用,否则无效
dialog.setOnOptionItemSelectListener(new OnOptionItemSelectListener() {
    @Override
    public void onSelect(int position, CharSequence option) {
        Toast.makeText(MainActivity.this, "position = " + position + ", option = " + option, Toast.LENGTH_SHORT).show();
        dialog.dismiss();
    }
});

通过隐藏单选按钮图标,显示另一种选项列表Dialog

SingleChoiceDialog

String[] options = {"在浏览器中打开", "复制链接网址", "分享链接"};
final SingleChoiceDialog dialog = SmartisanDialog.createSingleChoiceDialog(this);
dialog.setTitle("https://github.com/liying2008")
    .setSingleChoiceItems(options, -1) // -1表示没有默认选中项
    .setTitleTextSize(16)
    .hideRadioIcon()  // 隐藏单选按钮图标
    .show();
// setOnSingleChoiceSelectListener()方法必须在show()方法之后调用,否则无效
dialog.setOnSingleChoiceSelectListener(new OnSingleChoiceSelectListener() {
    @Override
    public void onSelect(int position) {
        Toast.makeText(MainActivity.this, "position = " + position, Toast.LENGTH_SHORT).show();
        dialog.dismiss();
    }
});

显示单选列表Dialog

SingleChoiceDialog

final SingleChoiceDialog dialog = SmartisanDialog.createSingleChoiceDialog(this);
dialog.setTitle("蜂窝移动数据")
    .setLeftBtnText("取消")
    .setSingleChoiceItems(new String[]{"关", "使用 SIM 卡 1", "使用 SIM 卡 2"}, 0)
    .show();
dialog.setOnSingleChoiceSelectListener(new OnSingleChoiceSelectListener() {
    @Override
    public void onSelect(int position) {
        Toast.makeText(MainActivity.this, "position = " + position, Toast.LENGTH_SHORT).show();
        dialog.dismiss();
    }
});
dialog.setOnBtnSelectListener(new SingleChoiceDialog.OnBtnSelectListener() {
    @Override
    public void onLeftSelect() {
        dialog.dismiss();
    }

    @Override
    public void onRightSelect() {

    }
});

显示带描述的单选列表Dialog

SingleChoiceDialog

String[] items = new String[]{"低电量模式", "超低电量模式"};
String[] descs = new String[]{"禁止后台应用无线网络、移动数据连接", "仅支持接打电话、收发短信"};
final SingleChoiceDialog dialog = SmartisanDialog.createSingleChoiceDialog(this);
dialog.setTitle("省电模式")
    .setLeftBtnText("取消")
    .setRightBtnText("确认")
    .setSingleChoiceItems(items, descs, 0)
    .show();
dialog.setOnSingleChoiceSelectListener(new OnSingleChoiceSelectListener() {
    @Override
    public void onSelect(int position) {
        Toast.makeText(MainActivity.this, "position = " + position, Toast.LENGTH_SHORT).show();
    }
});
dialog.setOnBtnSelectListener(new SingleChoiceDialog.OnBtnSelectListener() {
    @Override
    public void onLeftSelect() {
        dialog.dismiss();
    }

    @Override
    public void onRightSelect() {
        Toast.makeText(MainActivity.this, "已应用", Toast.LENGTH_SHORT).show();
        dialog.dismiss();
    }
});

可以自定义Dialog的内容视图

CustomizedDialog

final CustomizedDialog dialog = SmartisanDialog.createCustomizedDialog(this);
View rootView = getLayoutInflater().inflate(R.layout.test_view, null);
dialog.addView(rootView)
    .setTitle("自定义内容视图")
    .show();

更新日志(ChangeLog)

点击查看更新日志

作者(Author)

新浪微博:@独毒火

邮箱:[email protected]

日期(Date)

2017-10-22

License

Copyright 2017 LiYing

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

   http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].