感觉系统自带的对话框弹出太生硬?那就试试NiftyDialogEffects吧,类似于(Nifty Modal Window Effects),效果是模仿里面实现的
ScreenShot
gradle配置如下:
dependencies {
compile 'com.nineoldandroids:library:2.4.0'
compile 'com.github.sd6352051.niftydialogeffects:niftydialogeffects:1.0.0@aar'
}
Or using JitPack:
repositories {
maven { url "https://jitpack.io" }
}
dependencies {
compile 'com.github.sd6352051:NiftyDialogEffects:1.0.0'
}
还在使用eclipse的同学请在github上下载jar吧,这里就不提供了。
NiftyDialogEffects提供了以下效果:
Fadein
, Slideleft
, Slidetop
, SlideBottom
, Slideright
, Fall
, Newspager
, Fliph
, Flipv
,RotateBottom
, RotateLeft
, Slit
, Shake
, Sidefill
使用方式
NiftyDialogBuilder dialogBuilder=NiftyDialogBuilder.getInstance(this);
dialogBuilder
.withTitle("Modal Dialog")
.withMessage("This is a modal Dialog.")
.show();
dialogBuilder
.withTitle("Modal Dialog") //对话框标题
.withTitleColor("#FFFFFF") //标题颜色
.withDividerColor("#11000000") //分割线颜色
.withMessage("This is a modal Dialog.") //正文
.withMessageColor("#FFFFFFFF") //正文颜色
.withDialogColor("#FFE74C3C") //对话框颜色
.withIcon(getResources().getDrawable(R.drawable.icon)) //对话框左上角显示的icon
.withDuration(700) //动画效果时长
.withEffect(effect) //设置动画效果
.withButton1Text("OK") //确定
.withButton2Text("Cancel") //取消
.isCancelableOnTouchOutside(true) //触摸是消失
.setCustomView(R.layout.custom_view,v.getContext()) //自定义展示view
.setButton1Click(new View.OnClickListener() { //确定按钮监听事件
@Override
public void onClick(View v) {
Toast.makeText(v.getContext(), "i'm btn1", Toast.LENGTH_SHORT).show();
}
})
.setButton2Click(new View.OnClickListener() { //取消按钮监听事件
@Override
public void onClick(View v) {
Toast.makeText(v.getContext(),"i'm btn2",Toast.LENGTH_SHORT).show();
}
})
.show();
github连接地址:https://github.com/sd6352051/NiftyDialogEffects