AutoCompleteTextView的简单使用
1.AutoCompleteTextView功能
- 自动完成文本框,由EditText派生而来,是一个文本编辑框,相较普通的文本编辑框多了提示功能,即用户输入一定数量的字符后,自动完成文本框会弹出一个下拉菜单,供用户选择与之匹配的文本,选择后自动填充文本框
2.AutoCompleteTextView常用属性
| 属性名称 | 属性实例 | 属性描述 | 备注 |
|---|---|---|---|
| completionThreshold | android:completionThreshold=”1” | 设置用户至少输入几个字符才会显示提示 | Y |
| completionHint | android:completionHint=”最近搜索记录” | 设置下拉菜单中的提示标题 | Y |
| completionHintView | android:completionHintView=”@layout/auto_layout” | 设置下拉菜单中提示标题的视图 | Y |
| dropDownHeight | android:dropDownHeight=”100dp” | 设置下拉菜单的高度 | Y |
| dropDownWidth | android:dropDownWidth=”400dp” | 设置下拉菜单的宽度 | Y |
| dropDowmAnchor | 设置下拉菜单的定位“锚点”组件,如果没有指定该属性,则该TextView本身作为定位“锚点”组件 | N | |
| dropDownHorizontalOffset | 设置下拉菜单与文本框之间的水平偏移,默认与文本框左对齐 | N | |
| dropDownHorizontalOffset | 设置下拉菜单与文本框之间的垂直偏移,默认紧跟文本框 | N | |
| popupBackground | 设置下拉菜单的背景 | N |
3.AutoCompleteTextView实例
- AutoCompleteTextView还派生了一个子类MultiAutoCompleteTextView,两个组件功能相似,只是MultiAutoCompleteTextView允许输入多个提示项,多个提示项以分隔符分隔。下面是主要布局文件:autocompletetextview.xml
<!--autocompletetextview.xml文件-->
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/activity_main"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.manu.autocompletetextview.MainActivity">
<!--自动完成文本框-->
<AutoCompleteTextView
android:text="输入关键词"
android:layout_width="2984dp"
android:layout_height="wrap_content"
android:id="@+id/autoCompleteTextView"
android:completionThreshold="1"
android:completionHint="最近搜索记录"
android:completionHintView="@layout/auto_layout"
android:dropDownHeight="400dp"
android:dropDownWidth="300dp"/>
<MultiAutoCompleteTextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/multiAutoCompleteTextView"
android:completionThreshold="1"/>
</LinearLayout>
下面是属性completionHintView的布局文件:anto_layout.xml,注意android:id=”@android:id/text1”中id为text1是由于在AutoCompleteTextView类中setCompletionHint(CharSequence)方法中使用了id为text1的TextView。
<!--:anto_layout.xml-->
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="match_parent"
android:layout_height="match_parent">
<TextView
android:text="最近搜索记录"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@android:id/text1"
android:paddingLeft="10dp"
android:background="#6dd6bb"
android:textSize="20sp"/>
</LinearLayout>
下面是主程序如下:
//MainActivity.java
public class MainActivity extends AppCompatActivity {
private AutoCompleteTextView autoCompleteTextView;
private MultiAutoCompleteTextView multiAutoCompleteTextView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//获得AutoCompleteTextView组件
autoCompleteTextView = (AutoCompleteTextView) findViewById(R.id.autoCompleteTextView);
//获得MultiAutoCompleteTextView组件
multiAutoCompleteTextView = (MultiAutoCompleteTextView) findViewById(R.id.multiAutoCompleteTextView);
//创建adapter
//createFromResource(Context context,int textArrayResId,int textViewResId),看参数意思貌似比直译好。。。
ArrayAdapter adapter = ArrayAdapter.createFromResource(this,R.array.program_languages,android.R.layout.simple_dropdown_item_1line);
//设置adapter
autoCompleteTextView.setAdapter(adapter);
multiAutoCompleteTextView.setAdapter(adapter);
//设置分隔符
multiAutoCompleteTextView.setTokenizer(new MultiAutoCompleteTextView.CommaTokenizer());
}
}
还有本次练习中用到的arrays.xml文件:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<array name="program_languages">
<item>JavaScript</item>
<item>Java</item>
<item>Android</item>
<item>Android studio</item>
<item>Html</item>
<item>Css</item>
<item>C++</item>
</array>
</resources>
- 显示效果:
学习了自动完成文本框的简单使用,记录之~
AutoCompleteTextView的简单使用的更多相关文章
- Android开发之AutoCompleteTextView的简单使用
这里只谈简单的使用: 代码xml: <AutoCompleteTextView android:id="@+id/actv" android:layout_width=&qu ...
- Android零基础入门第47节:自动完成文本框AutoCompleteTextView
原文:Android零基础入门第47节:自动完成文本框AutoCompleteTextView 上一期学习的Spinner的使用,掌握的怎么样?本期一起来学习AutoCompleteTextView的 ...
- Android开发自学笔记(Android Studio)—4.4 AdapterView及其子类
一.引言 AdapterView本身是一个抽象类,而它派生的子类在用法上也基本相似,只是在显示上有一定区别,因此把他们也归为一类. AdapterView具有如下特征: Ada ...
- AutoCompleteTextView 简单用法 实现自定义list adapter
网上有不少教程,那个提示框字符集都是事先写好的,例如用一个String[] 数组去包含了这些数据,但是,我们也可以吧用户输入的作为历史记录保存 下面先上我写的代码:import andro ...
- Android中的AutoCompleteTextView(随笔提示文本)组件的简单使用
Android中的随笔提示文本组件AutoCompleteTextView的使用,此组件用于输入文本,然后就会在所配置的适配器中的数据进行查找显示在组件下面. 这里值得注意的是AutoComplete ...
- AutoCompleteTextView 简单用法
http://blog.csdn.net/i_lovefish/article/details/17337999
- 用AutoCompleteTextView实现历史记录提示
自定义AutoCompleteTextView 博客分类: android进阶 android 网上找到的都是同ArrayAdapter一起使用的,有时候需要自定义风格,咋办?follow me! ...
- Android--UI之AutoCompleteTextView
前言 之前讲过EditText,有兴趣的朋友可以看一下.这篇博客主要说明的是自动完成文本框,它实际上也是一个文本编辑框,可以理解为对EditText功能的扩展,它对输入的内容可以进行提示并且自动完成. ...
- Android UI系列-----EditText和AutoCompleteTextView
在这篇随笔里将主要讲解一下EditText和AutoCompleteTextView这个控件 1.EditText 首先我们先简单来说说EditText这个控件,这个就相当于我们平常web开发中的文本 ...
随机推荐
- Android Base64图片无法长按保存 问题解决
踩了一个巨坑. 目前微信ios/android 均能长按保存src=base64的图片 (微信android x5 专门解决了这个问题); 但是android其他App没有针对解决这个系统问题(姑且 ...
- moment太重? 那就试试miment--一个超轻量级的js时间库
介绍 Miment 是一个轻量级的时间库(打包压缩后只有1K),没有太多的方法,Miment的设计理念就是让你以几乎为零的成本快速上手,无需一遍一遍的撸文档 由来 首先 致敬一下Moment,非常好用 ...
- java 构造器(构造方法)使用详细说明
知识点 什么是构造器 构造器通常也叫构造方法.构造函数,构造器在每个项目中几乎无处不在.当你new一个对象时,就会调用构造器.构造器格式如下: [修饰符,比如public] 类名 (参数列表,可以没有 ...
- webpack进阶(三)
1)CommonsChunkPlugin已经从webpack4移除,所以在用webpack进行公共模块的拆分时,会报错 Cannot read property 'CommonsChunkPlugin ...
- 教你高效使用数据可视化BI软件创建医院卫生耗材运营监控大屏
灯果数据可视化BI软件是新一代人工智能数据可视化大屏软件,内置丰富的大屏模板,可视化编辑操作,无需任何经验就可以创建属于你自己的大屏.大家可以在他们的官网下载软件. 本文以医院卫生耗材运营监控大屏 ...
- 简述N种排序算法
排序算法概述 排序算法是程序员日常很常见的算法,基本上每天都会使用排序,在这里将进行一下总结. 排序算法大致可分为比较类排序和非比较类排序二种,其核心区别可以简单的理解为非比较类排序是对比较类排序之前 ...
- 数据结构 - ArrayList
简介 ArrayList是一个动态数组.ArrayList几乎拥有数组所有优点,例如元素有序,索引访问等:并且一般情况下它还不会越界,添加元素时它能动态扩容.平时工作中ArrayList被我们广泛应用 ...
- Deepin中安装使用好用的字典GoldenDict
2020-03-21 23:08:17 不说废话直接来安装步骤: 打开Deepin的应用商店,输入GoldenDict查找: 找到后点击安装,然后等待一小会,电脑提示音告诉你已经安装完成: 然后再 ...
- 洛古 P1312 Mayan游戏(dfs+剪枝)
题目链接 这道题和俄罗斯方块很像 很明显,我们可以看出这是一个dfs,但是,我们需要几条剪枝: 1.如果只剩下1个或2个同样颜色的方块,那么直接退出 2.相同的块不用交换 3.注意优先性,优先左边换右 ...
- 12. Java 获取指定字符第N次出现的位置
import java.util.regex.Matcher; import java.util.regex.Pattern; public class Demo { //判断"Ab2Ad3 ...