Android自定义组件之ListPopWindow

最近小编在学习IOS开发,感触颇深,看到了iOS里面封装了好多组件,很多组件都是iOS自带的,相信一般的小公司的产品经理都是按照iOS的交互来设计UI,而且还要求Android要和iOS统一风格,这让Android开发人员很头痛,iOS自带组件很容易实现,而Android可能需要重写控件去配合iOS的效果。其实这样必然会导致性能的小将,或有些许的卡顿。小编个人认为,按照各自系统的风格和规范进行设计才能把自己的优点发挥到最大化。 下面就引出了今天的主题,自定义组件ListPopWindow,iOS中,这个效果是自带的。PopWindow可以说在项目里用的比较多的了,可能有n处要用到PopWindow,那么自定义一个PopWindow,到处来用更方便一些。 先看一下效果:

这里写图片描述
效果就是这样,看一下实现,其实也没多难,就是想开源出来供小伙伴们使用,如有不合理地方,希望大家多多指正。
1.自定义PopWindow
首先我们分析一下,这样的效果肯定是一个PopWindow嵌套着listview,而上面的title、和下面的cancel是两个文本框,实现起来也比较简单。 然后我们在PopWindow中声明两个接口,用来回调cancel和item的点击事件
然后再设置一些PopWindow的一些属性

3.自定义adapter适配器
这里面可能要注意的就是item的背景设置,有的是上半部分圆角、有的是下半部分圆角,特殊处理一下

最后看一下调用
Activity需要实现item接口(OnPopItemClickListener)和底部按钮接口(OnBottomTextviewClickListener)

详细源码分析在
http://blog.csdn.net/lyhhj/article/details/50582900
最后小编附上github源码地址,小伙伴们可以直接用哦。 https://github.com/Hankkin/ListPopwidowDemo

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 139,786评论 20 593
  • 内容抽屉菜单ListViewWebViewSwitchButton按钮点赞按钮进度条TabLayout图标下拉刷新...
    皇小弟阅读 35,262评论 22 605
  • 昨天在菜市上看见一位老人捧这芍药从小巷子里出来,看见深粉色的花骨朵,心中一动,不由自主的钻进巷子找卖花人,未果。 ...
    淡如微风阅读 572评论 2 1
  • 从单位到场区的路上,两边是一望无际的麦田,回首望去,身后的华山正在凝望着我们。蹬车的脚步没有放缓,骑行在这片金黄色...
    风继续吹阅读 247评论 0 1
  • 《天才在左疯子在右》 本来是想写关于读这本书的心得的,此处直接用了原书名作为我的问题,希望原书作者不会介意吧...
    LindaGE阅读 65评论 0 1