spinner这个控件很早之前就看过,但是因为项目没有类似的功能,一直也没有实际用过,基本还是用pupwindow比较多吧,今天用也是因为pupwindow写的有点麻烦,所以就来熟练一下这个,进入正题,要实现这个效果。
就是一个简单的日历效果
首先看一下布局
其中
android:overlapAnchor="false"和
android:spinnerMode="dropdown"
这2句话是保证在spinner下面显示和下拉显示的意思。android:dropDownVerticalOffset这个属性是在垂直方向上离spinner的距离。
在看一下代码:
用的是系统的adapter,time是一个数组,其中每次进spinner界面都会自动监听第一条数据(前提是写了上面图片的监听)。
Spinner.setSelection(0, true);这句话就是为了取消第一次进入的监听
监听的方法实现。
其实我还发现一个问题就是当你弹出的adapter是位于spinner下方的时候会出现一个2秒左右的阴影,而且阴影上面显示是你的adapter的数据,过2秒就会自动消失,有点影响美观,现在我还没有找到方法解决,有知道的大神告诉一下,溜了。