AutoCompleteTextView,MultiAutoCompleteTextView 用法举例
AutoCompleteTextView
按下去变红色
MultiAutoCompleteTextView(用逗号可以添加多个关键字)
AutoCompleteTextView,MultiAutoCompleteTextView都可以在输入时完成匹配。后者是前者的子类,只不过可以匹配多个字符,字符间用“,”来分割。一般我们不用什么高级的adapter来放置数据,直接用ArrayAdapter是个比较好的选择
先看一下他们的属性:
android:completionHint 下拉列表下面的标题
android:completionHintView 设置下拉菜单中提示标题的视图
android:completionThreshold 设置用户输入多少字符才会出现提示
android:dropDownAnchor 下拉列表的“锚点”或挂载点,如果不设置,则用textView本身作为“锚点”
android:dropDownHeight 下拉列表高度
android:dropDownWidth 下拉列表宽度
android:dropDownHorizontalOffset 下拉列表距离左边的距离
android:dropDownVericalOffset 下拉菜单和文本之间的垂直偏移量
android:dropDownSelector 下拉列表被选中的行的背景
package com.kale.autocompletetextview; import android.app.Activity; import android.os.Bundle; import android.widget.ArrayAdapter; import android.widget.AutoCompleteTextView; import android.widget.MultiAutoCompleteTextView; public class MainActivity extends Activity { AutoCompleteTextView acTv; MultiAutoCompleteTextView mcTv; String []books = new String[] { "android", "java", "xml", "Ant" }; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); //创建一个adapter来封装数组 ArrayAdapter<String> aa = new ArrayAdapter<>(this, android.R.layout.simple_dropdown_item_1line,books); acTv = (AutoCompleteTextView)findViewById(R.id.auto_autoCompleteTv_id); acTv.setAdapter(aa); mcTv = (MultiAutoCompleteTextView)findViewById(R.id.multi_autoCompleteTv_id); mcTv.setAdapter(aa); //为其设置分割符 mcTv.setTokenizer(new MultiAutoCompleteTextView.CommaTokenizer()); } }
xml文件
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent"> <!-- completionHint设置下拉菜单中的标题 --> <!-- android:completionHint 下拉列表下面的标题 android:completionHintView 设置下拉菜单中提示标题的视图 android:completionThreshold 设置用户输入多少字符才会出现提示 android:dropDownAnchor 下拉列表的“锚点”或挂载点,如果不设置,则用textView本身作为“锚点” android:dropDownHeight 下拉列表高度 android:dropDownWidth 下拉列表宽度 android:dropDownHorizontalOffset 下拉列表距离左边的距离 android:dropDownVericalOffset 下拉菜单和文本之间的垂直偏移量 android:dropDownSelector 下拉列表被选中的行的背景 --> <AutoCompleteTextView android:id="@+id/auto_autoCompleteTv_id" android:layout_width="match_parent" android:layout_height="wrap_content" android:completionHint="这里显示的是提示字符" android:dropDownHorizontalOffset="10dp" android:dropDownVerticalOffset="10dp" android:dropDownHeight="150dp" android:completionThreshold="1" android:dropDownSelector="#ff0000" />
<MultiAutoCompleteTextView android:id="@+id/multi_autoCompleteTv_id" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginTop="80dp" android:completionThreshold="1"/> </RelativeLayout>
分类:
EditText
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?