使用AutoCompleteTextView 做edittext自动提示

时间:2022-08-29 23:01:46

最近的项目中遇到需要根据用户的输入,做模糊匹配的editext,中途遇到的问题总结如下:

1.  spinner和AutoCompleteTextView提示列表中间有一条黑色的分割线,想要改变它的颜色值,就要重写style。

(1)在styles里写个style

<!-- AutoCompleteTextView 分割线的样式 -->
<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>
(2) 在所在的activity中调用activity

<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()

来设置,传入的值就是线的高度。