由于android各个版本的系统Dialog样式都不一样,并且也不是特别好看,所以这里自己定制一套高仿iOS样式的android Dialog。让自己的代码具备两个平台的风格,并可以自由切换。
快速使用:
Step 1. Add it in your root build.gradle at the end of repositories:
allprojects {
repositories {
...
maven { url 'https://jitpack.io' }
}
}
Step 2. Add the dependency
dependencies {
compile 'com.github.shaoshuai904:iOS_Style_Dialog:1.2.2'
}
AlertDialog
样式布局:[ 标题 + 消息 + 左按钮 + 右按钮]
new AlertEditDialog(mContext)
.setTitle("姓名")
.setMessage("请输入您的真实姓名。")
.setLeftButton("取消", null)
.setRightButton("确定", new AlertEditDialog.EditTextCallListener() {
@Override
public void callBack(String str) {
showToast(str);
}
})
.show();
AlertEditDialog
样式布局:[ 标题 + 消息 + 输入框 + 左按钮 + 右按钮 ]
new AlertEditDialog(mContext)
.setTitle("姓名")
.setMessage("请输入您的真实姓名。")
.setLeftButton("取消", null)
.setRightButton("确定", new AlertEditDialog.EditTextCallListener() {
@Override
public void callBack(String str) {
showToast(str);
}
})
.show();
ActionSheetDialog
样式布局:[ 标题 + 页签条目 + 取消按钮 ]
new ActionSheetDialog(mContext)
.setTitle("请选择操作")
.setCancelable(false)
.setCanceledOnTouchOutside(false)
.addSheetItem("条目一", Color.parseColor(DEF_RED), new ActionSheetDialog.OnSheetItemClickListener() {
@Override
public void onClick(int which) {
showToast("item " + which);
}
})
.addSheetItem("条目二", new ActionSheetDialog.OnSheetItemClickListener() {
@Override
public void onClick(int which) {
showToast("item " + which);
}
})
.addSheetItem("条目三", Color.BLUE, new ActionSheetDialog.OnSheetItemClickListener() {
@Override
public void onClick(int which) {
showToast("item " + which);
}
})
// ……
.addSheetItem("条目十", new ActionSheetDialog.OnSheetItemClickListener() {
@Override
public void onClick(int which) {
showToast("item " + which);
}
}).show();
AlertNumberPickerDialog
样式布局:[ 标题 + 选择框 + 左按钮 + 右按钮 ]
numbers = new String[]{"1", "2", "3", "4", "5", "6", "7", "8", "9", "10"};
defValue = numbers[index];
new AlertNumberPickerDialog(mContext)
.setTitle("Number")
.setNumberValues(numbers, index, new NumberPicker.OnValueChangeListener() {
@Override
public void onValueChange(NumberPicker picker, int oldVal, int newVal) {
defValue = numbers[newVal];
}
})
.setLeftButton("Cancel", null)
.setRightButton("OK", new View.OnClickListener() {
@Override
public void onClick(View v) {
showToast(defValue);
}
})
.show();
附录GitHub项目地址:https://github.com/shaoshuai904/iOS_Style_Dialog