Android:封装一个通用PopupWindow
16lz
2021-01-26
最近更新:
- 2020-07-24,解决setOutsideTouchable无效问题。最终效果:PopupWindow显示时,点击外部视图不可取消PopupWindow的显示。
- 2020-07-23,重构项目,简化CommonPopupWindow的使用方式。
简介:
- 链式调用的方式,满足基础的开发需求;
- 双弹框场景,可自定义window alpha;
- 解决setOutsideTouchable无效问题;
demo效果图如下:
使用:
1.在project的build.gradle文件中添加
maven { url 'https://jitpack.io' }
2.在app的build.gradle文件中添加:
implementation 'com.github.jjjSilence:SmartPopupWindow:1.0.1'
3.具体示例:
new CommonPopupWindow.PopupWindowBuilder(MainActivity.this) .setContent(R.layout.popupwindow_view) .setLayoutWrapContent() .setOutsideTouchDismiss(false) .setOnInitCallback(new OnInitCallback() { @Override public void onInit(@NonNull View view, @NonNull final CommonPopupWindow commonPopupWindow) { TextView textView = view.findViewById(R.id.text); textView.setText("点此消失,点击外部不消失"); textView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { commonPopupWindow.dismiss(); } }); } }) .setOnShowListener(new OnShowListener() { @Override public void onShow(View view, CommonPopupWindow popupWindow) { } }) .setOnDismissListener(new OnDismissListener() { @Override public void onDismiss(View view, CommonPopupWindow popupWindow) { } }) .create() .showAtLocation(Gravity.CENTER);
点击此处看完整示例文件。
更多相关文章
- android初学之路【安卓入门二】
- Android实现文件下载
- Android(安卓)MediaPlayer指定文件位置播放
- Android使用Ant技术打包详解
- Android(安卓)报错 “程序包R不存在...!”
- Android里面classes.dex如何生成
- Android开发之数据存储全方案
- Android数据储存——文件储存
- AndroidStudio上面最好用的插件