最近更新:

  • 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);

点击此处看完整示例文件。

更多相关文章

  1. android初学之路【安卓入门二】
  2. Android实现文件下载
  3. Android(安卓)MediaPlayer指定文件位置播放
  4. Android使用Ant技术打包详解
  5. Android(安卓)报错 “程序包R不存在...!”
  6. Android里面classes.dex如何生成
  7. Android开发之数据存储全方案
  8. Android数据储存——文件储存
  9. AndroidStudio上面最好用的插件

随机推荐

  1. Eclipse For Android 代码自动提示功能
  2. Android的开发环境的搭建
  3. 用LinearLayout和RelativeLayout分别实现
  4. android5中数据存储方式详解
  5. 利用半透明对话框实现新浪微博android客
  6. android am命令用法
  7. 可视化操作Android的SQLite数据库
  8. android通过网络下载文字和Mp3的例子
  9. Cocos2d-x学习之创建Android工程和编译
  10. Android 快速打包项目成jar包