• Stars
    star
    659
  • Rank 68,396 (Top 2 %)
  • Language
    Java
  • Created over 8 years ago
  • Updated about 4 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

提供关于PopupWindow使用过程中遇到的一些特殊问题的解决方案,例如:PopupWindow不响应点击外部消失和返回键消失的解决方法;PopupWindow精确计算要显示位置原理和方法;实现带箭头的上下文菜单遇到的坑;Android7.0 PopupWindow的兼容问题;屏幕旋转时调用PopupWindow update方法更新位置失效的问题及解决方案

SmartPopupWindow

提供关于PopupWindow使用过程中遇到的一些特殊问题的解决方案

  1. PopupWindow不响应点击外部消失和返回键消失的解决方法
    博文地址:http://www.cnblogs.com/popfisher/p/5608717.html

  2. PopupWindow精确计算要显示位置原理和方法
    博文地址:http://www.cnblogs.com/popfisher/p/5608436.html

  3. 不得不吐槽的Android PopupWindow的几个痛点(实现带箭头的上下文菜单遇到的坑)
    博文地址:http://www.cnblogs.com/popfisher/p/5944054.html

  4. Android7.0 PopupWindow的兼容问题,修复了问题1和3中描述的问题,但是由引入了新的问题吗,具体详情
    博文地址:http://www.cnblogs.com/popfisher/p/6434757.html
    Github地址:https://github.com/PopFisher/SmartPopupWindow/blob/master/7.0PopupWindow.md

  5. 屏幕旋转时调用PopupWindow update方法更新位置失效的问题及解决方案。
    博文地址:http://www.cnblogs.com/popfisher/p/8029616.html
    Github地址:https://github.com/PopFisher/SmartPopupWindow/blob/master/ScreenRotateUpdatePopup.md

效果如下图所示:##

问题1截图

不会响应外部点击消失事件的情况

问题2截图

动态计算弹出框的位置 动态计算弹出框的位置

问题3截图

第一排左边按钮菜单 第一排右边按钮菜单 第二排中间按钮菜单

问题4相关截图

7.0主Activity

1. PopupWindow高宽都设置为match_parent:从屏幕左上角弹出

2. 宽度wrap_content-高度match_parent:从屏幕左上角弹出

3. 宽度match_parent-高度wrap_content:从anchorView下方弹出

4. 宽度wrap_content-高度大于anchorView到屏幕底部的距离:从anchorView上方弹出,与anchorView左对齐

5. showAtLocation传入Gravity.Bottom:从anchorView下方弹出

6. 调用update方法更新第5点中弹出PopupWindow,发现PopupWindow的Gravity发生了改变

详细可以参考 http://www.jianshu.com/p/0df10893bf5b

More Repositories

1

FingerprintRecognition

指纹识别,除了api>=23的支持指纹识别的设备,还支持api<23的具有指纹识别硬件支持的设备(前提是这些设备兼容了Google官方的标准接口),部分厂商(魅族,三星等)低版本需要接入他们的SDK进行适配
Java
339
star
2

AccessibilitySample

演示辅助功能基本流程和使用,通过简单的例子看懂辅助功能原理。我们可以使用辅助功能帮助我们做一些有意思的事情,比如抢红包插件(但是微信不准),帮助用户开启权限(这个还不错哟)
Java
133
star
3

FTPSync

Java FTP 上传下载文件(支持直接上传下载一个目录)
Java
123
star
4

FavoriteForAndroid

Android收藏夹,整理一些比较有用的文章,工具
83
star
5

PhoneStateListen

Android来去电监听,电话挂断
Java
76
star
6

SmartAlertPop

封装一个独立弹窗Module,这里的弹窗包括普通的Dialog方式弹框和WindowManager方式弹窗,主要是方便做项目重构,统一对弹窗进行管理,方便维护,拓展。如果你在对项目UI进行整体改版,需要对大量对话框和WindowManager弹窗进行UI适配的时候,此项目中的方法将非常适用
Java
38
star
7

AndroidRotateAnim

Android旋转动画+Android圆形进度条组合
Java
32
star
8

AppStartUpSpeedOpt

Android app 启动速度优化模拟,主要介绍一个App从启动到首屏绘制过程中可优化的点
Java
30
star
9

AndroidDrawClassic

android绘制基础总结:使用Android自身的drawable绘制,实现大多数基础图形的绘制,减少图片的使用,从而减少apk体积与内存占用。使用Android提供的绘图api实现丰富的自定义View控件
Java
26
star
10

AndroidAnimationDemos

Andorid动画案例(有普通动画,属性动画,自己实现onDraw的自绘动画):1. 模拟开关开启动画; 2. 3D旋转动画; 3. 圆形进度特效; 4. 多功能圆形进度百分比控件
Java
11
star
11

TinkerSample

一步步接入微信热更新框架Tinker
Java
2
star
12

FloatingWindow

Android悬浮窗那些事儿:悬浮窗,悬浮窗权限,应用外弹窗(后台弹窗),应用内弹窗(前台弹窗),悬浮Toast,反射系统Toast。
Java
2
star
13

WidgetForAndroid

未完待续~~~封装好的一些实用的自定义控件:进度条,日期选择器,开关按钮
Java
1
star