空祖家的對話框 2.0

空祖家的對話框 2.0

獻給要求咱們安卓照着蘋果設計稿作開發的產品們(手動滑稽php

空祖家的對話框2.0擁有提供最簡單的調用方式以實現消息框、選擇框、輸入框、等待提示、警告提示、完成提示、錯誤提示等彈出樣式。如下是目前包含的全部對話框樣式預覽圖:git

Github地址:https://github.com/kongzue/Dialoggithub

Kongzue's Dialog

試用版能夠前往 http://kongzue.com/open_source/KongzueDialogDemo2.0.apk 下載express

Kongzue's Dialog Demo

本例中,包含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倉庫或Gradle的引用方式

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組件包

在空祖家的對話框組件中,依然保留了一代的組件庫但再也不推薦使用,這是爲了保持兼容性,若強行使用您會看到相關類的名稱上有刪除線。

爲了更有效率的開發,咱們如今強烈推薦直接使用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.
複製代碼
相關文章
相關標籤/搜索