怎么在Android应用中利用PopuWindow实现一个下拉列表功能
导读:本文共10606字符,通常情况下阅读需要35分钟。同时您也可以点击右侧朗读,来听本文内容。按键盘←(左) →(右) 方向键可以翻页。
摘要: 基础依赖,由于下拉列表是用RecycleView实现,然后控件初始化用到ButterKnife,所以要在app的gradle中添加相关依赖: //RecycleView compile 'com.android.support:recyclerview-v7:25.2.0' //butterKnife compile 'com... ...
目录
(为您整理了一些要点),点击可以直达。基础依赖,由于下拉列表是用RecycleView实现,然后控件初始化用到ButterKnife,所以要在app的gradle中添加相关依赖:
第一步,不言而喻,肯定是上BasePopupWindow代码:
第二步,写一个OrderPop继承于BasePopupWindow:
OrderPop类中涉及到的内容挺多,以下将细细讲解。
1.--- 声明中涉及到RecycleView的一个适配器ManagerPopuAdapter,其代码如下:
2.--- ManagerPopuAdapter.java对应的layout----- item_popu_order_layout.xml代码:
3.--- item_popu_order_layout.xml中android:background="@drawable/manager_fragment_popu_bg"对应的drawable文件为:
manager_fragment_popu_pressed和manager_fragment_popu_normal对应的其实都是纯颜色xml文件。
manager_fragment_popu_pressed.xml代码如下:
manager_fragment_popu_normal.xml代码如下:
也许有的同学会问android:background="@drawable/manager_fragment_popu_bg文件中为什恶魔不直接用color属性设置背景切换,而要用color写个drawable供调用,其实我一开始也是这样弄的,无奈报错,具体原因不详,知道的同学可以回复下,此处不做重点。
4.--- item_popu_order_layout.xml中android:textColor="@drawable/text_color_bg"对应的drawable文件如下:
5.---讲讲OrderPop的构造函数
这里我其实是图方便,所以直接传了个固定宽度 ScreenUtil.dp2px(100,context) 进去了,实际开发中因为是点击某个控件然后在控件下面显示出来,那么应该传那个控件的宽度。
6.---OrderPop的layout布局pop_order.xml代码如下:
其中,android:scrollbars="vertical"是设置滚动条方向,android:scrollbarThumbVertical="@color/blue"是设置滚动条颜色,android:scrollbarStyle="outsideOverlay"设置滚动条样式
7.---讲讲OrderPop的显隐动画问题
在OrderPop类中的initData()方法中涉及到这样一行代码:
涉及到popuwindow的显隐动画问题,大家可以参考的前言中提到的popuwindow的基本使用文章,这里就不废话了。
第三步,OrderPop写好了,就该看看在MainActivity中是怎么调用的了,贴出MainActivity的代码:
MainActivity对应的布局activity_main.xml代码如下:
android:drawableRight="@drawable/manager_fragment_order_bg"中manager_fragment_order_bg.xml对应的代码如下:
ic_drop_up和ic_drop_down对应的分别是一张箭头向上的图片和一张箭头向下的图片,这里就不多说了。
android:textColor="@drawable/text_color_bg"的话是设置文字选中和未被选中时显示的颜色,在上面的第二步第四条已经讲过了,这里就不说了。
怎么在Android应用中利用PopuWindow实现一个下拉列表功能的详细内容,希望对您有所帮助,信息来源于网络。