Android组件复习之基本组件06—autocompletetextview自动完成文本框
来源:互联网 发布:交大长天软件怎么样 编辑:程序博客网 时间:2024/05/29 16:58
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.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组件复习之基本组件06—autocompletetextview自动完成文本框
- Android 高级UI组件之自动完成文本框(AutoCompleteTextView)
- Android开发10.2:UI组件AutoCompleteTextView(自动完成文本框)
- Android高级组件之自动完成文本框
- 对自动完成文本框(AutoCompleteTextView)组件的一点补充
- Android AutoCompleteTextView自动完成文本框
- 【Android开发】高级组件-自动完成文本框
- Android基础组件(一)自动完成控件AutoCompleteTextView
- Android 控件之八:AutoCompleteTextView自动完成文本框
- Android基础入门教程——2.4.11 AutoCompleteTextView(自动完成文本框)的基本使用
- Android组件复习之基本组件03—ToggleButton
- Android组件复习之基本组件04—SwitchButton
- Android组件复习之基本组件07—Spinner
- Android组件复习之基本组件03—ToggleButton
- Android组件复习之基本组件04—SwitchButton
- Android组件复习之基本组件07—Spinner
- AutoCompleteTextView自动完成文本框
- Xcode8更新后的一些问题解决
- 仿知乎日报第九篇:为首页以及其他12个页面从网上加载数据分析
- 在webstorm11中使用nodejs库的智能提示功能
- 也谈谈机器学习中的Evaluation Metrics
- 关于digital ocean 的使用(转载)
- Android组件复习之基本组件06—autocompletetextview自动完成文本框
- Struts2笔记
- android利用shap画小圆圈(空心圆、实心圆)
- POJ 3321 Apple Tree
- ViewAnimation和DrawableAnimation
- android studio renamed plugin
- Android UI :Try of Toolbar
- 删除远程svn上idea中的module (另附Linux解压命名)
- 数据存储和界面展现之二