Android用的有两种方法AutoCompleteTextView和MultiAutoCompleteTextView,第二种可以连续提示输入,如下图
AutoCompleteTextView常用属性 | |
---|---|
android:completionHint | 设置出现在下拉菜单中的提示标题 |
android:completionThreshold | 设置用户至少输入多少个字符才会显示提示 |
android:dropDownHorizontalOffset | 下拉菜单于文本框之间的水平偏移。默认与文本框左对齐 |
android:dropDownHeight | 下拉菜单的高度 |
android:dropDownWidth | 下拉菜单的宽度 |
android:singleLine | 单行 显示 |
android:dropDownVerticalOffset | 垂直偏移量 |
布局文件:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#fff"
android:orientation="vertical"
tools:context=".MainActivity">
<MultiAutoCompleteTextView
android:id="@+id/multiautocomplete"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="5dp"
android:hint="MultiAutoCompleteTextView" />
<AutoCompleteTextView
android:id="@+id/autocomplete"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="AutoCompleteTextView" />
</LinearLayout>
MainActivity里面的代码:
package com.example.administrator.autocompletetextviewdemo;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.text.Editable;
import android.text.TextWatcher;
import android.view.View;
import android.widget.ArrayAdapter;
import android.widget.AutoCompleteTextView;
import android.widget.MultiAutoCompleteTextView;
public class MainActivity extends AppCompatActivity {
private AutoCompleteTextView mAutoCompleteTextView;
private MultiAutoCompleteTextView mMultiAutoCompleteTextView;
private String[] ceshi1;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mAutoCompleteTextView=findViewById(R.id.autocomplete);
mMultiAutoCompleteTextView=findViewById(R.id.multiautocomplete);
ceshi1 = new String[]{"北京西站", "北京北站", "北京站", "北京南站", "北京大使馆",
"北京故宫", "天津电视塔", "天津南站", "天津东站", "天津之眼", "天津劝业场","aaa","bbb",
"aaa北京","北京aaa","aaaa8989","bbb768","北京ab","sss","aaaaa"};
ArrayAdapter adapter=new ArrayAdapter(MainActivity.this,android.R.layout.simple_list_item_activated_1,ceshi1);
mAutoCompleteTextView.setAdapter(adapter);
mMultiAutoCompleteTextView.setAdapter(adapter);
mMultiAutoCompleteTextView.setTokenizer(new MultiAutoCompleteTextView.CommaTokenizer());
}
}
下载地址:https://download.csdn.net/download/lanrenxiaowen/10746629