由于工作项目的需要,需要使用Dialog但是每个界面的dialog的布局样式又各有不同.所以才使我决定自己写个通用的Dialog工具类.只需通过自定义的布局样式就可实现不同的Dialog.完全的使用链式调用,可以设置布局中的文本内容和点击事件.还可以自己选择去匹配PopupWindow的效果.
那闲话不多说了 直接上代码 希望该工具类对你的工作有所帮助,一起学习一起交流技术.完整的demo请在如下链接下载: http://download.youkuaiyun.com/download/wmz199123/10164866 先上效果图如下:
<!--自定义Dialog样式-->
<style name="dialog" parent="@android:style/Theme.Dialog">
<!--边框-->
<item name="android:windowFrame">@null</item>
<!--是否浮现在activity之上-->
<item name="android:windowIsFloating">true</item>
<!--半透明-->
<item name="android:windowIsTranslucent">false</item>
<!--无标题-->
<item name="android:windowNoTitle">true</item>
<!--背景透明-->
<item name="android:windowBackground">@android:color/transparent</item>
<!--模糊-->
<item name="android:backgroundDimEnabled">true</item>
</style>
这里使用自定义CommonBaseDialog 继承Dialog
//使用 CommonBaseDialog核心代码
CommonBaseDialog.showDialog(this, R.layout.common_dialog)
.setText(R.id.title, "提示")
.setDialogLocation(Gravity.CENTER, 50, 0, 50, 0)
.setText(R.id.content, "确认取消订单?")
.setViewListener((dialog, viewId) -> {
switch (viewId) {
case R.id.confirm:
case R.id.cancel:
dialog.dismiss();
break;
}
}, R.id.cancel, R.id.confirm);
希望这边文章对你有所帮助,谢谢!!!!!!!!!