前言
在做項目的過程中呜达,發(fā)現(xiàn)經(jīng)常會使用到對話框這個組件,雖然有方法可以調(diào)用,但是在不同的Activity中每次都要重建就顯得很麻煩了宋彼,為此我封裝了一個可供自己使用的對話框組件睦裳,一段代碼直接調(diào)用即可造锅。
介紹
這是一個快速調(diào)用對話框的庫
Demo
平臺要求
- Android SDK 15+
基本使用
- 在你的配置文件中添加 JitPack的代碼倉庫
- Gradle
Add it in your root build.gradle at the end of repositories:
allprojects {
repositories {
...
maven { url 'https://jitpack.io' }
}
}
- Maven
<repositories>
<repository>
<id>jitpack.io</id>
<url>https://jitpack.io</url>
</repository>
</repositories>
- 添加依賴
- Gradle
dependencies {
compile 'com.github.YueYongDev:SixSystemDialog:v1.0'
}
- Maven
<dependency>
<groupId>com.github.YueYongDev</groupId>
<artifactId>SixSystemDialog</artifactId>
<version>v1.0</version>
</dependency>
- 調(diào)用
- 普通對話框(兩個按鈕)
SixDialog.showNormalDialog(mContext, title, message, positiveBtnMsg, negativeBtnMsg,
new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
Toast.makeText(mContext, positiveBtnMsg, Toast.LENGTH_SHORT).show();
}
}, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
Toast.makeText(mContext, negativeBtnMsg, Toast.LENGTH_SHORT).show();
}
});
- 普通對話框(3個按鈕)
SixDialog.showMultiBtnDialog(mContext, title, message, positiveBtnMsg, neutralBtnMsg, negativeBtnMsg, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
Toast.makeText(mContext, positiveBtnMsg, Toast.LENGTH_SHORT).show();
}
}, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
Toast.makeText(mContext, neutralBtnMsg, Toast.LENGTH_SHORT).show();
}
}, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
Toast.makeText(mContext, negativeBtnMsg, Toast.LENGTH_SHORT).show();
}
});
- 列表對話框
SixDialog.showListDialog(mContext, title, items, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
Toast.makeText(mContext, "你選擇了" + items[which], Toast.LENGTH_SHORT).show();
}
});
- 單選對話框
SixDialog.showSingleChoiceDialog(mContext, title, positiveBtnMsg, items, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
SixDialog.yourChoice = which;
}
}, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
if (SixDialog.yourChoice != -1) {
Toast.makeText(mContext, "你選擇了" + items[SixDialog.yourChoice], Toast.LENGTH_SHORT).show();
}
}
});
- 多選對話框
SixDialog.showMultiChoiceDialog(mContext, title, positiveBtnMsg, items, initChoiceSets, new DialogInterface.OnMultiChoiceClickListener() {
@Override
public void onClick(DialogInterface dialog, int which, boolean isChecked) {
if (isChecked) {
SixDialog.yourChoices.add(which);
} else {
SixDialog.yourChoices.remove(which);
}
}
}, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
int size = SixDialog.yourChoices.size();
StringBuilder str = new StringBuilder();
for (int i = 0; i < size; i++) {
str.append(items[SixDialog.yourChoices.get(i)]).append(" ");
}
Toast.makeText(MainActivity.this, "你選中了" + str, Toast.LENGTH_SHORT).show();
}
});
- 編輯對話框
SixDialog.showInputDialog(mContext, title, positiveBtnMsg, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
Toast.makeText(mContext, SixDialog.editText.getText().toString(), Toast.LENGTH_SHORT).show();
}
});
- 參數(shù)說明
//對話框標(biāo)題
private String title = "this is title";
//對話框信息
private String message = "this is meaasge";
//對話框確定鍵的文字
private String positiveBtnMsg = "ok";
//對話框取消鍵的文字
private String negativeBtnMsg = "cancel";
//對話框中間鍵的文字
private String neutralBtnMsg = "more";
//對話框列表中的文字
private String[] items = {"item1", "item2", "item3", "item4"};
// initChoiceSets[] 設(shè)置默認(rèn)選中的選項,全為false默認(rèn)均未選中
private boolean initChoiceSets[] = {false, false, false, false};
用法例子詳見Demo
參考
android 8種對話框(Dialog)使用方法匯總
如何將自己在github寫的android library開源廉邑,讓大家依賴使用