PopupWindow的使用以及ArrayAdatper.notifyDataSetChanged()无效详解
来源:互联网 发布:jsp asp php 编辑:程序博客网 时间:2024/05/22 14:01
Android的对话框有两种:PopupWindow和AlertDialog。它们的不同点在于:
AlertDialog的位置固定,而PopupWindow的位置可以随意AlertDialog是非阻塞线程的,而PopupWindow是阻塞线程的
PopupWindow的位置按照有无偏移分,可以分为偏移和无偏移两种;按照参照物的不同,可以分为相对于某个控件(Anchor锚)和相对于父控件。具体如下
showAsDropDown(View anchor):相对某个控件的位置(正左下方),无偏移
showAsDropDown(View anchor, int xoff, int yoff):相对某个控件的位置,有偏移
showAtLocation(View parent, int gravity, int x, int y):相对于父控件的位置(例如正中央Gravity.CENTER,下方Gravity.BOTTOM等),可以设置偏移或无偏移
项目目录结构和效果图
1.PopupWindow的布局,里面只有一个ListView
2.PopupWindow item的布局,为了简单起里面只有一个TextView3.写一个PopupWindow的派生类,这里我直接贴代码,注释还是比较详细,只有用了一个回调接口,不明白回调函数的看这里http://blog.csdn.net/xiaanming/article/details/8703708上面还用到了动画,比较简单的动画,不太懂动画请到这里http://blog.csdn.net/xiaanming/article/details/8997260
popupwindow_enter
popupwindow_exit这样子,以后我们遇到类似的popupwindow的就可以复用了,接下来我们看使用吧,使用很简单,布局里面一个Button,点击Button弹出一个PopupWindow,直接看代码吧总体来说就是这样子,PopupWindow的使用还是挺简单的,这是小弟的一点拙见,写的不好的地方还请大神指出!
项目下载
0 0
- PopupWindow的使用以及ArrayAdatper.notifyDataSetChanged()无效详解
- PopupWindow的使用以及ArrayAdatper.notifyDataSetChanged()无效详解
- PopupWindow的使用以及ArrayAdatper.notifyDataSetChanged()无效详解
- PopupWindow的使用以及ArrayAdatper.notifyDataSetChanged()无效详解
- PopupWindow的使用以及ArrayAdatper.notifyDataSetChanged()无效详解
- PopupWindow的使用以及ArrayAdatper.notifyDataSetChanged()无效详解
- adapter的notifyDataSetChanged()无效
- notifyDataSetChanged无效的解决方法
- PopupWindow的使用详解
- PopupWindow的使用详解
- PopupWindow的使用详解
- 使用RecyclerView遇到notifyDataSetChanged无效
- PopupWindow的使用以及注意事项
- android notifyDataSetChanged 无效的解决方案
- adapter的notifyDataSetChanged()无效
- notifyDataSetChanged无效
- Adapter中使用notifyDataSetChanged 与notifyDataSetInvalidated无效
- fragment更新数据后使用notifyDataSetChanged()无效
- angular记录
- hibernate session
- Android 自定义下拉列表
- ARP讲解
- Scala集合
- PopupWindow的使用以及ArrayAdatper.notifyDataSetChanged()无效详解
- [BC#89A]Fxx and string
- Java并发基础总结
- mysql关于输入密码后闪退
- 100道动态规划——6 UVA 1629 Cake slicing 记忆化搜索
- Mybatis-Generator使用(maven项目)
- 初学java的困惑
- php中加密类型和常用的加密函数
- 编译、链接、visual studio 和 cmake 工作