WPopup – 一个简单用并且高度定制的Popupwindow
GitHub地址,感兴趣的点个Star!谢谢!
- 自动设置show的位置
- 自动设置倒三角的位置
- 跟随手指点按位置弹出
- 高度定制
依赖
allprojects { repositories { ... maven { url 'https://jitpack.io' } }}dependencies { implementation 'com.github.wanglu1209:WPopup:lastReleases'}
用
普通操作
// 创立WPopupval pop = WPopup.Builder(this) .setData(data) // 设置数据,数据类为WPopupModel .setCancelable(false) // 设置能否能点击外面dismiss .setPopupOrientation(WPopup.Builder.HORIZONTAL) // 设置item排列方向 默认为竖向排列 .setOnItemClickListener(object : WPopup.Builder.OnItemClickListener { override fun onItemClick(view: View, position: Int) { // 设置item点击事件 Toast.makeText(view.context, data[position].text, Toast.LENGTH_LONG).show() } }) .create()
根据View自动设置显示位置
pop.showAtView(view)
根据view手动设置显示位置
pop.showAtDirectionByView(view, WPopupDirection.LEFT)
自己选择弹出位置 上下左右
pop.showAtDirection(WPopupDirection.BOTTOM)
骚操作 根据手指点击位置来显示
val longClickPop = WPopup.Builder(this) .setData(longData) .setPopupOrientation(WPopup.Builder.VERTICAL) .setClickView(longClickView) // 肯定要设置点击的view,使用来注册事件 .setOnItemClickListener(object : WPopup.Builder.OnItemClickListener { override fun onItemClick(view: View, position: Int) { Toast.makeText(view.context, "$position", Toast.LENGTH_LONG).show() } }) .create()
自动筛选位置 默认为右下方
longClickPop.showAtFingerLocation()
手动筛选位置
longClickPop.showAtFingerLocation(WPopupDirection.TOP)
方法及参数
WPopup已经为您设置好了通使用的UI,您只要要自己配置参数就可
方法名 | 参数类型 | 默认值 | 备注 |
---|---|---|---|
setData | List<WPopupModel> | null | 设置数据 参数为一个字符串,一个图片的resId |
setCancelable | Boolean | false | 设置点击外面能否能dismiss |
setOnItemClickListener | OnItemClickListener | null | 设置item点击事件 |
setPopupOrientation | String | WPopupWindow.Builder.VERTICAL | 设置item的排列方向 |
setDividerColor | Int | Color.WHITE | 设置分割线的颜色 |
setDividerSize | Int | 1 | 设置分割线的粗细 |
setDividerMargin | Int | 10 | 设置分割线边距 |
setIsDim | Boolean | false | 设置弹出时背景能否半透明 |
setDimValue | Float | 0.4f | 设置背景半透明的值 0.1f – 1f 值越大,越接近透明 |
setPopupBgColor | Int | Color.parseColor(“#CC000000”) | 设置弹出背景颜色 |
setPopupMargin | Int | 1 | 设置弹出时和view的距离 |
setClickView | View | null | 设置长按事件的view |
setAnim | Int | WPopupAnim.ANIM_ALPHA | 设置动画 |
setIconDirection | Int | WPopupDirection.LEFT | 设置icon的方向 假如data中设置了图片的话 |
setTextColor | Int | Color.WHITE | 设置item中text的颜色 |
setTextSize | Int | 14 | 设置item中text的大小 |
当然,假如默认的UI不适合您,您也可以自己设置UI,只要传入少量参数就可
val customPopup = BasePopup( WPopParams( R.layout.view_custom, // layoutRes,必需参数 this, // activity,必需参数 true, // 背景能否变暗,非必需参数 cancelable = false, width = ViewGroup.LayoutParams.MATCH_PARENT, // popup的宽 只支持LayoutParams里的 height = ViewGroup.LayoutParams.WRAP_CONTENT ))
GitHub地址,感兴趣的点个Star!谢谢!
说明
1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是摆设,本站源码仅提供给会员学习使用!
7. 如遇到加密压缩包,请使用360解压,如遇到无法解压的请联系管理员
开心源码网 » WPopup – 一个简单用并且高度定制的Popupwindow
1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是摆设,本站源码仅提供给会员学习使用!
7. 如遇到加密压缩包,请使用360解压,如遇到无法解压的请联系管理员
开心源码网 » WPopup – 一个简单用并且高度定制的Popupwindow