獻給要求咱們安卓照着蘋果設計稿作開發的產品們(手動滑稽php
空祖家的對話框2.0擁有提供最簡單的調用方式以實現消息框、選擇框、輸入框、等待提示、警告提示、完成提示、錯誤提示等彈出樣式。如下是目前包含的全部對話框樣式預覽圖:git
Github地址:https://github.com/kongzue/Dialoggithub
試用版能夠前往 http://kongzue.com/open_source/KongzueDialogDemo2.0.apk 下載express
本例中,包含DialogDemo(Dialog/app/)是對話框的演示項目源代碼,以及Library庫(Dialog/dialog/)是封裝的空祖家對話框的源代碼。apache
項目託管的Maven倉庫在https://bintray.com/myzchh/maven/dialogbash
本項目遵循Apache-2.0開源協議,具體可參考:http://www.opensource.org/licenses/apache2.0.phpapp
Maven倉庫:less
<dependency>
<groupId>com.kongzue.dialog</groupId>
<artifactId>dialog</artifactId>
<version>2.0.0</version>
<type>pom</type>
</dependency>
複製代碼
Gradle: 在dependencies{}中添加引用:maven
implementation 'com.kongzue.dialog:dialog:2.0.0'
複製代碼
組件啓用前請先初始化全局的風格樣式,具體方法爲ide
DialogSettings.type = TYPE_MATERIAL;
複製代碼
Material 風格對應 DialogSettings.TYPE_MATERIAL,
Kongzue 風格對應 DialogSettings.TYPE_KONGZUE,
iOS 風格對應 DialogSettings.TYPE_IOS
須要注意的是風格設置僅針對對話框,提示框樣式不會改變。
在空祖家的對話框組件中,依然保留了一代的組件庫但再也不推薦使用,這是爲了保持兼容性,若強行使用您會看到相關類的名稱上有刪除線。
爲了更有效率的開發,咱們如今強烈推薦直接使用v2組件庫,其包含的包地址爲:com.kongzue.dialog.v2
MessageDialog.show(me, "消息提示框", "用於提示一些消息", "知道了", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
}
});
複製代碼
或者能夠採用快速調用方式:
MessageDialog.show(me, "歡迎", "歡迎使用Kongzue家的對話框,此案例提供經常使用的幾種對話框樣式。\n若有問題能夠在https://github.com/kongzue/Dialog提交反饋");
複製代碼
SelectDialog.show(me, "提示", "請作出你的選擇", "肯定", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
Toast.makeText(me, "您點擊了肯定按鈕", Toast.LENGTH_SHORT).show();
}
}, "取消", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
Toast.makeText(me, "您點擊了取消按鈕", Toast.LENGTH_SHORT).show();
}
});
複製代碼
或者能夠採用快速調用方式:
SelectDialog.show(me, "提示", "請作出你的選擇", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
Toast.makeText(me, "您點擊了肯定按鈕", Toast.LENGTH_SHORT).show();
}
});
複製代碼
InputDialog.show(me, "設置暱稱", "設置一個好聽的名字吧", "肯定", new InputDialogOkButtonClickListener() {
@Override
public void onClick(Dialog dialog, String inputText) {
Toast.makeText(me, "您輸入了:" + inputText, Toast.LENGTH_SHORT).show();
}
}, "取消", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
}
});
複製代碼
或者能夠採用快速調用方式:
InputDialog.show(me, "設置暱稱", "設置一個好聽的名字吧", new InputDialogOkButtonClickListener() {
@Override
public void onClick(Dialog dialog, String inputText) {
Toast.makeText(me, "您輸入了:" + inputText, Toast.LENGTH_SHORT).show();
}
});
複製代碼
WaitDialog.show(me, "載入中...");
複製代碼
TipDialog.show(me, "完成", TipDialog.SHOW_TIME_SHORT, TipDialog.TYPE_FINISH);
複製代碼
TipDialog.show(me, "請輸入密碼", TipDialog.SHOW_TIME_SHORT, TipDialog.TYPE_WARNING);
複製代碼
TipDialog.show(me, "禁止訪問", TipDialog.SHOW_TIME_LONG, TipDialog.TYPE_ERROR);
複製代碼
在任何一種對話框中均可以使用.setCanCancel(boolean)來設置是否能夠點擊對話框之外的區域關閉對話框,提示類默認都是禁止的,選擇、輸入對話框默認也是禁止的,消息對話框默認是容許的。
使用方法能夠參考如下代碼:
WaitDialog.show(me, "載入中...").setCanCancel(true);
複製代碼
在空祖家的對話框組件中,您可使用監聽器來監聽對話框的生命週期,Demo以下:
WaitDialog.show(me, "載入中...").setCanCancel(true).setDialogLifeCycleListener(new DialogLifeCycleListener() {
@Override
public void onCreate(AlertDialog alertDialog) {
//此時對話框建立
}
@Override
public void onShow(AlertDialog alertDialog) {
//此時對話框顯示
}
@Override
public void onDismiss() {
//此時對話框關閉
}
});
複製代碼
Copyright Kongzue Dialog
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.
複製代碼