Skip to content

Commit

Permalink
Merge branch 'master' of https://github.com/yannecer/NDialog
Browse files Browse the repository at this point in the history
  • Loading branch information
yannecer committed Dec 18, 2018
2 parents 87202e1 + 54e733f commit db22d85
Showing 1 changed file with 116 additions and 104 deletions.
220 changes: 116 additions & 104 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,127 +3,139 @@


## 效果图
|MaterialDesign确认|Ios确认|MaterialDesign选择1|
|:---:|:---:|:---:|
|![](https://github.com/yannecer/NDialog/blob/master/app/dialog.gif)|![](https://github.com/yannecer/NDialog/blob/master/app/png/ios%E7%A1%AE%E8%AE%A4.png)||![](https://github.com/yannecer/NDialog/blob/master/app/png/MaterialDesign%E9%80%89%E6%8B%A91.png)|

![](https://github.com/yannecer/NDialog/blob/master/app/dialog2.gif)

## 使用方法

## Gradle

```
compile 'com.necer.ndialog2:ndialog:1.0.1'
implementation 'com.necer.ndialog2:ndialog:1.1.2'
```

**确认提示框**
## 具体用法:
[直达](https://github.com/yannecer/NDialog/blob/master/app/src/main/java/com/necer/ndialogsample/MainActivity.java)



**NDialog**
```
new NDialog(this)
.setTitle("我是标题")
.setTitleColor(Color.parseColor("#00c8aa"))
.setTitleSize(18)
.setTitleCenter(false)
.setMessageCenter(false)
.setMessage("我是meaasge")
.setMessageSize(16)
.setMessageColor(Color.parseColor("#00ff00"))
.setNegativeTextColor(Color.parseColor("#000000"))
.setPositiveTextColor(Color.parseColor("#ff0000"))
.setButtonCenter(false)
.setButtonSize(14)
.setCancleable(true)
.setOnConfirmListener(new NDialog.OnConfirmListener() {
@Override
public void onClick(int which) {
//which,0代表NegativeButton,1代表PositiveButton
Toast.makeText(MainActivity.this, "点击了::" + which, Toast.LENGTH_SHORT).show();
}
}).create(NDialog.CONFIRM).show();
基类,可设置的属性
dialogCornersRadius //弹窗圆角大小
dialogBgColor //弹窗背景颜色
dialogWidth //弹窗宽度,建议依屏幕的宽为参考
dialogHeight //弹窗高度,建议依屏幕的高为参考
cancleable //弹窗是否可取消
isFromBottom //弹窗是否底部弹出
windowAnimation //弹窗弹出动画资源文件
dimAmount //弹窗弹出时,窗体的灰度 0.0f-1.0f 0.0f为透明 1.0f为全黑
继承自 NDialog 的 Dialog 需先调用自身的方法设置属性,再调用 NDialog 的方法设置 Dialog 的属性,最后 .create().show();
```
**输入框**

**ConfirmDialog**

```
new NDialog(this).setTitle("请输入。。。")
.setInputHintText("hint")
.setInputHintTextColor(Color.parseColor("#c1c1c1"))
.setInputText("")
.setInputTextColor(Color.parseColor("#333333"))
.setInputTextSize(14)
.setInputType(InputType.TYPE_CLASS_TEXT)
.setInputLineColor(Color.parseColor("#00ff00"))
.setPositiveButtonText("确定")
.setNegativeButtonText("取消")
.setNegativeTextColor(Color.parseColor("#c1c1c1"))
.setOnInputListener(new NDialog.OnInputListener() {
@Override
public void onClick(String inputText, int which) {
//which,0代表NegativeButton,1代表PositiveButton
Toast.makeText(MainActivity.this, "输入了::" + inputText, Toast.LENGTH_SHORT).show();
}
}).create(NDialog.INPUT).show();
确认提示框,可设置的属性
title //可设置 title 的字体大小、颜色、样式、padding 等 设置显示,不设置不显示
message //可设置 message 的字体大小、颜色、样式、padding 等
isIos //ios 样式的弹窗 预先设置了 ios 弹窗的属性,但可以 set 对应属性改变,可设置分割线宽度,颜色等
完整调用如下
new ConfirmDialog(this,false)
.setTtitle()
.setTitleSize()
.setTitleColor()
.setMessage()
.setMessageSize()
.setMessageColor()
.setPositiveButton()
.setIosDividerColor()
.setIosDividerSize()
.setPositiveButtonSize()
.setPositiveButtonColor()
.setNegativeButton()
.setNegativeButtonSize()
.setNegativeButtonColor()
.setDialogWidth()
.setDialogHeight()
.setDialogCornersRadius()
.setWindowAnimation()
.setIsFromBottom()
.setCancelable()
.setDimAmount()
.create()
.show();
```
**选择框**
**ChoiceDialog**
```
new NDialog(this)
.setItems(new String[]{"aaa", "bbb", "ccc", "ddd"})
.setItemGravity(Gravity.LEFT)
.setItemColor(Color.parseColor("#000000"))
.setItemHeigh(50)
.setItemSize(16)
.setDividerHeigh(1)
.setAdapter(null)
.setDividerColor(Color.parseColor("#c1c1c1"))
.setHasDivider(true)
.setOnChoiceListener(new NDialog.OnChoiceListener() {
@Override
public void onClick(String item, int which) {
Toast.makeText(MainActivity.this, "选择了::" + item, Toast.LENGTH_SHORT).show();
}
}).create(NDialog.CHOICE).show();
选择框 可设置的属性
title //可设置 title 的字体大小、颜色、样式、padding 等,设置显示,不设置不显示
items //Object[] 显示 toString()的内容 可设置 itemText 字体大小、颜色、位置、样式等,可设置 item 高度、padding 等
isIos //ios样式的选择框 预先设置了 ios 选择框的属性,但可以 set 对应属性改变,可设置分割线宽度,颜色等
divider //分割线颜色 高度等
完整调用如下
new ChoiceDialog(this,false)
.setTtitle()
.setTitleSize()
.setTitleColor()
.setTitleGravity()
.setTtitlePadding()
.setTitleTypeface()
.setTitleMaxLines()
.setItems()
.setItemTextSize()
.setItemTextColor()
.setItemTextPadding()
.setItemDividerPadding()
.setCancleButtonText()
.setItemTextGravity()
.setItemTextTypeface()
.setOnItemClickListener()
.setItemHeight()
.setDividerHight()
.setDividerColor()
.hasCancleButton()
.setDialogWidth()
.setDialogHeight()
.setDialogCornersRadius()
.setWindowAnimation()
.setIsFromBottom()
.setCancelable()
.setDimAmount()
.create()
.show();
```

**自定义Dialog**
```
继承自 NDialog 实现 setDialogDetails(Context context,AlertDialog alertDialog) 方法,调用 alertDialog.setContentView(View v) 即可根据自己的需求实现 dialog ,同时可调用 NDialog 中的方法设置公有属性,如:
public class CustomDialog extends NDialog {
public CustomDialog(Context context) {
super(context);
}
@Override
protected void setDialogDetails(Context context,AlertDialog alertDialog) {
View inflate = LayoutInflater.from(context).inflate(R.layout.dialog_custom, null);
alertDialog.setContentView(inflate);
}
}
调用:
new CustomDialog(this)
.setDialogCornersRadius(5f)
.setDialogHeight((int) Util.dp2px(this, 100))
.setDialogWidth((int) Util.dp2px(this, 100))
.create().show();
支持的属性:


| 属性| 描述|
|:---|:---|
| NDialog.CONFIRM| 构建确认提示弹窗 |
| NDialog.INPUT| 构建输入弹窗 |
| NDialog.CHOICE|构建选择弹窗 |
| positiveButtonText| positive按钮文本 |
| positiveTextColor| positive按钮文本颜色 |
| negativeButtonText| negative按钮文本 |
| negativeTextColor| negative按钮文本颜色 |
| buttonSize| positive和negative按钮大小 |
| isButtonCenter| positive和negative按钮是否居中 |
| message| 确认提示弹窗message文本 |
| messageSize| 确认提示弹窗message字体大小 |
| messageColor| 确认提示弹窗message字体颜色|
| isMessageCenter| 确认提示弹窗message是否居中 |
| title| title文本 |
| titleSize| positive文本大小 |
| titleColor| title文本颜色 |
| isTitleCenter| title是否居中|
| inputText| 输入框预输入文本 |
| inputTextSize| 输入框预输入文本字体大小 |
| inputTextColor| 输入框预输入文本字体颜色 |
| inputHintText| 输入框hint |
| inputHintTextColor| 输入框hint文本字体颜色 |
| inputType| 输入框输入类型 |
| hasDivider| 选择框是否要分割线|
| dividerHeigh| 选择框分割线高度|
| dividerColor| 选择框分割线颜色|
| items| 选择框选择的item|
| itemColor| 选择框item字体颜色|
| itemSize| 选择框item字体大小|
| itemGravity| 选择框item位置|
| itemHeigh| 选择框item高度|
| cancleable| 弹窗是否可取消|
```

### 具体参见 http://blog.csdn.net/y12345654321/article/details/72639106

0 comments on commit db22d85

Please sign in to comment.