第三方开源库:Dialog相关:DialogPlus + SweetAlertDialog +Alerter

DialogPlus

github:https://github.com/orhanobut/dialogplus

效果图:

github原图:
这里写图片描述

demo效果图:
这里写图片描述 这里写图片描述

简介

总有3个Holder:ViewHolder、ListHolder、GridHolder,其中ViewHolder是用于自定义视图,ListHolder用于ListView,GridHolder用于GridView

注意:setExpanded(true)仅适用于ListHolder、GridHolder

gradle

compile 'com.orhanobut:dialogplus:1.11@aar'

使用

DialogPlus dialog = DialogPlus.newDialog(this)
    .setContentHolder(new ViewHolder(R.layout.dialog1))
    .setContentHeight(ViewGroup.LayoutParams.WRAP_CONTENT)
    .setContentWidth(ViewGroup.LayoutParams.MATCH_PARENT)
    .setHeader(R.layout.header)
    .setFooter(R.layout.footer)
    .setAdapter(adapter)
    .setOnItemClickListener(this)
    .setGravity(Gravity.BOTTOM)
    .setExpanded(true) 
    .create();
dialog.show();

属性+方法

方法说明
newDialog(Context context)创建dialog
setContentHolder(Holder holder)设置holder,必要
setContentWidth(int width)宽:ViewGroup.LayoutParams.WRAP_CONTENT等
setContentHeight(int height)
setHeader(int resourceId)头的布局或View
setFooter(int resourceId)尾的布局或View
setGravity(int gravity)dialog的位置
setExpanded(boolean expanded)是否可扩展,默认是false,仅适用于ListView和GridView
setCancelable(boolean isCancelable)点击外部区域是否可以取消dialog
setAdapter(BaseAdapter adapter)ListView或GridView的adapter,ViewHolder不需要
setOnItemClickListener(OnItemClickListener listener)ListView或GridView的item的点击事件
setOnClickListener(OnClickListener listener)点击事件
setOnDismissListener(OnDismissListener listener)dismiss的监听
setOnCancelListener(OnCancelListener listener)取消的监听
getHolderView()获取视图View
getHeaderView()获取头布局
getFooterView()获取尾布局
setMargin(left, top, right, bottom)Add margins to your dialog. They are set to 0 except when gravity is center. In that case basic margins are applied
setPadding(left, top, right, bottom)Set padding to the holder
setInAnimation(R.anim.abc_fade_in)进入动画
setOutAnimation(R.anim.abc_fade_out)移除动画
setContentBackgroundResource(resource)dialog的背景色
setOverlayBackgroundResource(resource)dialog意外的背景色

源码

https://git.oschina.net/libraryDemo/DialogPlus01

SweetAlertDialog

github地址:https://github.com/pedant/sweet-alert-dialog

效果图

这里写图片描述

gradle

repositories {
    mavenCentral()
}

dependencies {
    compile 'cn.pedant.sweetalert:library:1.3'
}

注意:直接这样添加依赖会报错:
这里写图片描述

解决方法:

在AndroidManifest.xml中添加
xmlns:tools="http://schemas.android.com/tools"
tools:replace="android:icon"

这里写图片描述

基本使用

SweetAlertDialog pDialog = new SweetAlertDialog(this, SweetAlertDialog.PROGRESS_TYPE);
pDialog.getProgressHelper().setBarColor(Color.parseColor("#A5DC86"));
pDialog.setTitleText("Loading");
pDialog.setCancelable(false);
pDialog.show();

NORMAL_TYPE

new SweetAlertDialog(MainActivity.this, SweetAlertDialog.NORMAL_TYPE);

这里写图片描述

PROGRESS_TYPE

new SweetAlertDialog(MainActivity.this, SweetAlertDialog.PROGRESS_TYPE);

这里写图片描述

SUCCESS_TYPE

new SweetAlertDialog(MainActivity.this, SweetAlertDialog.SUCCESS_TYPE);

这里写图片描述

WARNING_TYPE

new SweetAlertDialog(MainActivity.this, SweetAlertDialog.WARNING_TYPE);

这里写图片描述

ERROR_TYPE

new SweetAlertDialog(MainActivity.this, SweetAlertDialog.ERROR_TYPE);

这里写图片描述

CUSTOM_IMAGE_TYPE

new SweetAlertDialog(MainActivity.this, SweetAlertDialog.CUSTOM_IMAGE_TYPE);

这里写图片描述

其他常用方法

dialog.getProgressHelper().setBarColor(R.color.colorPrimary);
dialog.setTitleText("title")
        .setContentText("ContentText")
        .setConfirmText("确定")
        .setConfirmClickListener(new SweetAlertDialog.OnSweetClickListener() {
            @Override
            public void onClick(SweetAlertDialog sweetAlertDialog) {
                 dialog.dismissWithAnimation();
            }
        })
        .showCancelButton(true)
        .setCancelText("取消")
        .setCancelClickListener(new SweetAlertDialog.OnSweetClickListener() {
            @Override
            public void onClick(SweetAlertDialog sweetAlertDialog) {
                dialog.dismissWithAnimation();
            }
        });
dialog.show();

点击确认后切换到对话框样式:

.setConfirmClickListener(new SweetAlertDialog.OnSweetClickListener() {
    @Override
    public void onClick(SweetAlertDialog sDialog) {
        sDialog
            .setTitleText("Deleted!")
            .setContentText("Your imaginary file has been deleted!")
            .setConfirmText("OK")
            .setConfirmClickListener(null)
            .changeAlertType(SweetAlertDialog.SUCCESS_TYPE);
    }
})

源码

https://git.oschina.net/libraryDemo/SweetAlertDialog01

Alerter

顶部弹出的View,严格来说跟Dialogz这个类无关,只是UI效果相似,可以设置icon,但是icon都是白色的。API>=16
github:https://github.com/Tapadoo/Alerter

效果图

这里写图片描述

使用

Activity中使用Alerter.create(MainActivity.this),在Fragment中使用Alerter.create(getActivity)

Alerter.create(MainActivity.this)
        .setTitle("Title")
        .setText("message")
        .setBackgroundColor(R.color.colorAccent)
        .setIcon(R.mipmap.ic_launcher_round)
        .setDuration(3000)
        .setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                Toast.makeText(MainActivity.this, "click", Toast.LENGTH_SHORT).show();
            }
        })
        .show();

源码

Demo: https://git.oschina.net/libraryDemo/Alerter01

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值