1 Github地址
https://github.com/liying2008/SmartisanDialog
Download Demo Apk
2 屏幕截圖(Screenshots)
dialog_show
3 引入(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>
4 使用(Usage)
4.1 顯示普通Dialog
NormalDialog
final NormalDialog dialog = SmartisanDialog.createNormalDialog(this);
dialog.setTitle("這是標題")
.setMsg("對話框信息")
.setMsgGravity(Gravity.CENTER)
.setLeftBtnText("確定") // 設(shè)置文本的按鈕會顯示,不設(shè)置文本則不顯示
.setRightBtnText("取消")
.show();
// 設(shè)置點擊監(jiān)聽(下同,不再解釋)
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();
}
});
4.2 顯示帶兩個選項的Dialog
TwoOptionsDialog
final TwoOptionsDialog dialog = SmartisanDialog.createTwoOptionsDialog(this);
dialog.setTitle("選擇一個選項")
.setOp1Text("第一個選項") // 設(shè)置第一個選項的文本
.setOp2Text("第二個選項") // 設(shè)置第二個選項的文本
.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();
}
});
4.3 顯示帶三個選項的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();
}
});
4.4 顯示警告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();
}
});
4.5 顯示選項列表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) // 上次選擇的選項顯示的顏色,用于區(qū)分
.show();
// setOnOptionItemSelectListener()方法必須在show()方法之后調(diào)用,否則無效
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();
}
});
4.6 通過隱藏單選按鈕圖標,顯示另一種選項列表Dialog
SingleChoiceDialog
String[] options = {"在瀏覽器中打開", "復(fù)制鏈接網(wǎng)址", "分享鏈接"};
final SingleChoiceDialog dialog = SmartisanDialog.createSingleChoiceDialog(this);
dialog.setTitle("https://github.com/liying2008")
.setSingleChoiceItems(options, -1) // -1表示沒有默認選中項
.setTitleTextSize(16)
.hideRadioIcon() // 隱藏單選按鈕圖標
.show();
// setOnSingleChoiceSelectListener()方法必須在show()方法之后調(diào)用,否則無效
dialog.setOnSingleChoiceSelectListener(new OnSingleChoiceSelectListener() {
@Override
public void onSelect(int position) {
Toast.makeText(MainActivity.this, "position = " + position, Toast.LENGTH_SHORT).show();
dialog.dismiss();
}
});
4.7 顯示單選列表Dialog
SingleChoiceDialog
final SingleChoiceDialog dialog = SmartisanDialog.createSingleChoiceDialog(this);
dialog.setTitle("蜂窩移動數(shù)據(jù)")
.setLeftBtnText("取消")
.setSingleChoiceItems(new String[]{"關(guān)", "使用 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() {
}
});
4.8 顯示帶描述的單選列表Dialog
SingleChoiceDialog
String[] items = new String[]{"低電量模式", "超低電量模式"};
String[] descs = new String[]{"禁止后臺應(yīng)用無線網(wǎng)絡(luò)、移動數(shù)據(jù)連接", "僅支持接打電話、收發(fā)短信"};
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, "已應(yīng)用", Toast.LENGTH_SHORT).show();
dialog.dismiss();
}
});
4.9 可以自定義Dialog的內(nèi)容視圖
CustomizedDialog
final CustomizedDialog dialog = SmartisanDialog.createCustomizedDialog(this);
View rootView = getLayoutInflater().inflate(R.layout.test_view, null);
dialog.addView(rootView)
.setTitle("自定義內(nèi)容視圖")
.show();