自动完成文本框从EditText派生而出,实际上也就是个文本框但是当用户输入一定字符之后,会显示一个菜单供用户选择,选完后自动填写。
android:completionHint:设置下拉菜单中的提示标题
android:completionHintView:定义提示视图中显示下拉菜单
android:completionThreshold:指定用户至少输入多少个字符才会显示提示
android:dropDownAnchor:设置下拉菜单的定位"锚点"组件,如果没有指定改属性, 将使用该TextView作为定位"锚点"组件
android:dropDownHeight:设置下拉菜单的高度
android:dropDownWidth:设置下拉菜单的宽度
android:dropDownHorizontalOffset:指定下拉菜单与文本之间的水平间距
android:dropDownVerticalOffset:指定下拉菜单与文本之间的竖直间距
android:dropDownSelector:设置下拉菜单点击效果
android:popupBackground:设置下拉菜单的背景
使用AutoComplete TextView很简单,只需要为他设置一个adapter即可,该adapter封装了AutoComplete TextView预设的提示文本
AutoCompleteTextView还派生一个MultiAtuoCompleteTextView,该子类的功能与AutoCompleteTextView基本相似,只是MultiAtuoCompleteTextView允许输入多个提示项,多个提示项以分隔符分隔,MultiAtuoCompleteTextView提供setTokenizer()方法设置分隔符。
activity_main.xml:

<?xml version="1.0" encoding="utf-8"?> //定义一个自动完成文本框,指定输入一个字符后提示 //定义一个组件 

下面他们绑定同一个adapter所以提示内容一样
activity代码:

package com.example.myapplication;import android.util.Log;import android.support.v7.app.AppCompatActivity;import android.os.Bundle;import android.view.View;import android.widget.AdapterView;import android.widget.ArrayAdapter;import android.widget.AutoCompleteTextView;import android.widget.Button;import android.widget.ImageView;import android.widget.ListView;import android.widget.MultiAutoCompleteTextView;import android.widget.SimpleAdapter;import java.util.ArrayList;import java.util.HashMap;import java.util.List;import java.util.Map;public class MainActivity extends AppCompatActivity {   private String[] books=new String[]{"疯狂Java讲义","疯狂前端开发","疯狂xml讲义","疯狂workflow讲义"};    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        //创建一个Arrayadapter,封装数组        ArrayAdapter adapter1=new ArrayAdapter(this,android.R.layout.simple_dropdown_item_1line,books);        //android.R.layout.simple_dropdown_item_1line  默认的下拉条目样式        AutoCompleteTextView actv=findViewById(R.id.auto);        //设置adapter        actv.setAdapter(adapter1);        MultiAutoCompleteTextView mauto=findViewById(R.id.mauto);        mauto.setAdapter(adapter1);        //为MultiAutoCompleteTextView设置分隔符        mauto.setTokenizer(new MultiAutoCompleteTextView.CommaTokenizer());    }}

最后效果图


AutoCompleteTextView(自动完成文本框)_第1张图片 342BE43122AC9BBBCE14335B87CD6B78.jpg
AutoCompleteTextView(自动完成文本框)_第2张图片 D0D639499D4371953960B1A907357319.jpg

那个,。。。。额,由于虚拟机不知道什么原因输入不了文字,所以下载apk然后用手机截的图,有点大哈。

更多相关文章

  1. Android toolbar overflow菜单 文字显示不全
  2. Android NDK系列(三)-AS编写C文件没有提示和不识别NULL
  3. Android搜索自动提示功能
  4. 《Android/OPhone开发完全讲义》连载(6):为TextView组件加上边框
  5. android仿新浪微薄底部菜单
  6. 简单播放系统提示音 android
  7. Android 菜单资源

随机推荐

  1. Android Untold Stories
  2. Android基本数据存储方法
  3. Android 快速启动
  4. AES Android 加密
  5. Android Dependencies 是什么?
  6. android 入门
  7. Android点击效果加边框
  8. Android VideoView orientation change w
  9. 76 Android BroadcastReceiver简单使用
  10. Android(安卓)Studio代码自动提示无效(not