Android组件复习之基本组件06—autocompletetextview自动完成文本框
2016-12-17 17:23
686 查看
Autocompletetextview自动完成文本框功能及用法
自动完成文本框(AutocompleteTextVeiw)是从EditText派生出来的,实际上它也是一个文本编辑框,但它比普通编辑框多了一个功能:当用户输入一定字符之后,自动完成文本框会显示一个下来菜单,提供用户从中选择,当用户选择了某个菜单项之后,AutoCompleteTextView按用户选择自动填写该文本。使用AutocopleteTextView很简单,只要为他设置一个Adapter,该Adapter封装了AutocopleteTextView预设的提示文本
AutocompleteTextview除了可使用EditText提供的xml属性和方法之外,还支持下面的属性
android:completionHint :设置出现在下拉菜单中的提示标题
android:completionThreshold : 设置用户至少输入多少个字符才会显示提示
android:dropDownHorizontalOffset: 下拉菜单于文本框之间的水平偏移。默认与文本框左对齐
android:dropDownHeight: 下拉菜单的高度
android:dropDownWidth :下拉菜单的宽度
android:popupBackground :设置下拉菜单的背景
android:dropDownVerticalOffset: 垂直偏移量
先看下效果图
布局文件,布局文件中定义了两种不同的组件,看下面
<!-- 定义一个自动完成文本框,指定输入一个字符后进行提示 --> <AutoCompleteTextView android:id="@+id/auto" android:layout_width="match_parent" android:layout_height="wrap_content" android:completionHint="请选择" android:dropDownHorizontalOffset="10dp" android:completionThreshold="1"/> <!-- 定义一个MultiAutoCompleteTextView组件 --> <MultiAutoCompleteTextView android:id="@+id/mauto" android:layout_width="match_parent" android:layout_height="wrap_content" android:completionThreshold="1"/>
两者的区别
1、其中AutoCompleteTextView组件一个继承自 EditView 的 可编辑的文本视图,能够实现动态匹配输入的内容。如google搜索引擎当输入文本时可以根据内容显示匹配的热门信,重要方法如下
clearListSelection(): 清除选中的列表项
dismissDropDown ():如果存在 关闭下拉菜单
getAdapter ():获取适配器
2、MultiAutoCompleteTextView继承自 AutoCompleteTextView 的 可编辑的文本视图,能够对用户键入的文本进行有效地扩充提示,而不需要用户输入整个内容。(用户输入一部分内容,剩下的部分系统就会给予提示)。用户必须提供一个 MultiAutoCompleteTextView.Tokenizer 用来区分不同的子串。重要方法如下
enoughToFilter (): 当文本长度超过阈值时过滤
setTokenizer (MultiAutoCompleteTextView.Tokenizer t):用户正在输入时, tokenizer设置将用于确定文本相关范围内
现在再看看在代码中引用
import android.app.Activity; import android.os.Bundle; import android.widget.ArrayAdapter; import android.widget.AutoCompleteTextView; import android.widget.MultiAutoCompleteTextView; /* * 自动完成文本 * */ public class AotcompleteTextViewActivity extends Activity { AutoCompleteTextView actv; MultiAutoCompleteTextView mauto; // 定义字符串数组,作为提示的文本 String[] data = new String[]{"zzz","zzzz","bbbb", "bb","aaaaaa","aaa","sssss","ssss", "aaaa","ccc","ccccc","ddd","ddddd", }; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.aotucompletetextview); // 创建一个ArrayAdapter,封装数组 ArrayAdapter<String> aa = new ArrayAdapter<String>(this,android.R.layout.simple_dropdown_item_1line, data); actv = (AutoCompleteTextView)findViewById(R.id.auto); // 设置Adapter actv.setAdapter(aa); //多个自动完成文本 mauto = (MultiAutoCompleteTextView)findViewById(R.id a7e8 .mauto); // 设置Adapter mauto.setAdapter(aa); // 为MultiAutoCompleteTextView设置分隔符 mauto.setTokenizer(new MultiAutoCompleteTextView.CommaTokenizer()); } }
dome中的位置,记得修改dome清单中的配置,其他类都可以删除,每个类都是一个控件,没有关系
dome地址:http://download.csdn.net/download/bobo8945510/9631870
相关文章推荐
- Android组件复习之基本组件06—autocompletetextview自动完成文本框
- Android开发高级组件之自动完成文本框(AutoCompleteTextView)用法示例【附源码下载】
- Android高级组件AutoCompleteTextView自动完成文本框使用详解
- Android:自动完成文本框(AutoCompleteTextView、MultiAutoCompleteTextView )
- Android -AutoCompleteTextView-简单又好用的自动完成文本框
- [Android]笔记15:自动完成文本框(AutoCompleteTextView)的功能与用法
- Android开发10.2:UI组件AutoCompleteTextView(自动完成文本框)
- Android开发10.2:UI组件AutoCompleteTextView(自动完成文本框)
- Android练习-----自动完成文本框(AutoCompleteTextView)(搜索框)
- Android——适配器其他组件(AutoCompleteTextView:自动完成文本编辑框;Spinner:下拉列表)
- Android入门教程四十四之 AutoCompleteTextView(自动完成文本框)的基本使用
- Android零基础入门第47节:自动完成文本框AutoCompleteTextView
- Android基础入门教程——2.4.11 AutoCompleteTextView(自动完成文本框)的基本使用
- Android 组件系列(1):自动完成输入内容的组件(AutoCompleteTextView )
- 对自动完成文本框(AutoCompleteTextView)组件的一点补充
- Android 高级UI组件之自动完成文本框(AutoCompleteTextView)
- Android零基础入门第47节:自动完成文本框AutoCompleteTextView
- Android UI系统控件进阶(三)—自动完成文本控件AutoCompleteTextView详解及属性
- 自动完成文本框(AutoCompleteTextView)的功能与用法
- [Android] AutoCompleteTextView:自动完成输入内容的控件