最近的项目中遇到需要根据用户的输入,做模糊匹配的editext,中途遇到的问题总结如下:
1. spinner和AutoCompleteTextView提示列表中间有一条黑色的分割线,想要改变它的颜色值,就要重写style。
(1)在styles里写个style
<!-- AutoCompleteTextView 分割线的样式 -->(2) 在所在的activity中调用activity
<style name="AutoSpinnerStyle" parent="AppTheme">
<item name="android:divider">@null</item><!--可以自定义颜色-->
</style>
<style name="qqTransferTheme" parent="AppTheme">
<item name="android:windowNoTitle">true</item>
<item name="android:dropDownListViewStyle">@style/AutoSpinnerStyle</item>
</style>
<activity
android:name=".Activity"
android:theme="@style/qqTransferTheme" />
2.常用的方法
1.clearListSelection,去除selector样式,只是暂时的去除,当用户再输入时又重新出现
2.dismissDropDown,关闭下拉提示框
3.enoughToFilter,这是一个是否满足过滤条件的方法,sdk建议我们可以重写这个方法
4. getAdapter,得到一个可过滤的列表适配器
5.getDropDownAnchor,得到下拉框的锚计的view的id
6.getDropDownBackground,得到下拉框的背景色
7.setDropDownBackgroundDrawable,设置下拉框的背景色
8.setDropDownBackgroundResource,设置下拉框的背景资源
9.setDropDownVerticalOffset,设置下拉表垂直偏移量,即是list里包含的数据项数目
10.getDropDownVerticalOffset ,得到下拉表垂直偏移量
11..setDropDownHorizontalOffset,设置水平偏移量
12.setDropDownAnimationStyle,设置下拉框的弹出动画
13.getThreshold,得到过滤字符个数
14.setOnItemClickListener,设置下拉框点击事件
15.getListSelection,得到下拉框选中为位置
16.getOnItemClickListener。得到单项点击事件
17.getOnItemSelectedListener得到单项选中事件
18.getAdapter,得到那个设置的适配器
3.设置autoCompleteTextView的偏移高度
可以通过setDropDownAnchor(int id) 设置相对的父控件,注意他是紧贴父控件的,
如果父控件有一条分割线,显示的位置正好在分割线上,想让分割线显示,可以setDropDownVerticalOffset()
来设置,传入的值就是线的高度。