Android MultiAutoCompleteTextView

我们在前面章节 Android AutoCompleteTextView 自动完成文本框 介绍了自动提示控件 AutoCompleteTextView

MultiAutoCompleteTextView ( 多项自动完成文本框 ) 继承自 AutoCompleteTextView ,除了有自动完成功能,还支持分隔符分隔的多个自动完成

MultiAutoCompleteTextView

创建一个 MultiAutoCompleteTextView 也很简单

<MultiAutoCompleteTextView
    android:id="tag"
    android:layout_width="match_parent"
    android:layout_height="wrap_content" />

MultiAutoCompleteTextView 有很多属性,不过这些属性都继承自 AutoCompleteTextView

MultiAutoCompleteTextView 属性

属性 说明
android:completionHint 设置下拉菜单中的提示标题
android:completionHintView 定义提示视图中显示下拉菜单
android:completionThreshold 指定用户至少输入多少个字符才会显示提示
android:dropDownAnchor 设置下拉菜单的定位"锚点"组件,如果没有指定改属性,将使用该TextView作为定位"锚点"组件
android:dropDownHeight 设置下拉菜单的高度
android:dropDownWidth 设置下拉菜单的宽度
android:dropDownHorizontalOffset 指定下拉菜单与文本之间的水平间距
android:dropDownVerticalOffset 指定下拉菜单与文本之间的竖直间距
android:dropDownSelector 设置下拉菜单点击效果
android:popupBackground 设置下拉菜单的背景


  1. 创建一个 空的 Android 项目 cn.twle.android.MultiAutoCompleteTextView

  2. 修改 activity_main.xml 添加一个 AutoCompleteTextView

    <?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:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical"
        android:padding="5dp">
    
        <MultiAutoCompleteTextView
            android:id="@+id/tag"
            android:layout_width="300dp"
            android:layout_height="wrap_content"
            android:completionThreshold="1"/>
    
    </LinearLayout>
    
    • android:completionThreshold="1"

      设置了输入一个字就显示提示

  3. 修改 MainActivity.java 添加数据

    package cn.twle.android.multiautocompletetextview;
    
    import android.os.Bundle;
    import android.support.v7.app.AppCompatActivity;
    
    import android.widget.MultiAutoCompleteTextView;
    import android.widget.ArrayAdapter;
    
    public class MainActivity extends AppCompatActivity {
    
        private MultiAutoCompleteTextView tag;
    
        private static final String[] data = new String[]{
                "python", "perl", "php", "java", "swift","c++","c","c#","javascript","ruby"
        };
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
    
            tag = (MultiAutoCompleteTextView) findViewById(R.id.tag);
    
            ArrayAdapter<String> adapter = new ArrayAdapter<String>(MainActivity.
                    this, android.R.layout.simple_dropdown_item_1line, data);
    
            tag.setAdapter(adapter);
    
            // 设置分隔符
            tag.setTokenizer(new MultiAutoCompleteTextView.CommaTokenizer());
        }
    }
    

参考文档

  1. Android MultiAutoCompleteTextView

Android 基础教程

关于   |   FAQ   |   我们的愿景   |   广告投放   |  博客

  简单教程,简单编程 - IT 入门首选站

Copyright © 2013-2022 简单教程 twle.cn All Rights Reserved.