Android用户界面 UI组件--自动提示输入框 AutoCompleteTextView和MultiAutoCompleteTextView
16lz
2021-12-04
AutoCompleteTextView: 就是一个带自动提示的EditText,当输入字符时,会出现提示.
android:completionThreshold
输入几个字符时提示
android:completionHint/setCompletionHint(CharSequence)
设置出现下拉列表的提示标题
android:dropDownHeight/setDropHeight(int)
设置下拉列表的高度
android:dropDownWidth/setDropWidth(int)
设置下拉列表的宽度
android:popupBackground/setDropDownbackgroundResource(int)
设置下拉列表的背景
在Android程序中,为了展示数据,通常会用到一个Adapter的接口
setAdapter()设置提示内容的Adapter.
MultiAutoCompleteTextView是多选选项
使用MultiAutoCompleteTextView必须实现MultiAutoCompleteTextView.Tokenizer接口
用于声明用于选项与选项之间分隔的符号,一般如不特殊指定,可以使用Android为我们提供的实现类MultiAutoCompleteTextView.CommaTokenizer,它设定使用英文逗号","进行分隔选项.
例子:
[java] view plain copy- <LinearLayoutxmlns: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"
- tools:context=".MainActivity">
- <LinearLayoutandroid:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:orientation="horizontal">
- <TextView
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:text="单选搜索"
- tools:ignore="HardcodedText"/>
- <AutoCompleteTextViewandroid:id="@+id/autoText"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- />
- </LinearLayout>
- <LinearLayoutandroid:layout_width="match_parent"
- android:layout_height="wrap_content">
- <TextView
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:text="多选搜索"
- tools:ignore="HardcodedText"/>
- <MultiAutoCompleteTextViewandroid:id="@+id/autoMultiText"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- />
- </LinearLayout>
- </LinearLayout>
- packagecom.light.android.study;
- importandroid.app.Activity;
- importandroid.os.Bundle;
- importandroid.view.Gravity;
- importandroid.view.View;
- importandroid.view.View.OnClickListener;
- importandroid.widget.ArrayAdapter;
- importandroid.widget.AutoCompleteTextView;
- importandroid.widget.CheckBox;
- importandroid.widget.CompoundButton;
- importandroid.widget.MultiAutoCompleteTextView;
- importandroid.widget.MultiAutoCompleteTextView.CommaTokenizer;
- importandroid.widget.RadioGroup;
- importandroid.widget.RadioGroup.OnCheckedChangeListener;
- importandroid.widget.Toast;
- importandroid.widget.ToggleButton;
- publicclassMainActivityextendsActivity{
- privateAutoCompleteTextViewautoText;
- privateMultiAutoCompleteTextViewautoMultiText;
- privateString[]keywords={
- "ab","abc","abdfdf","abnsd","abdfff"
- };
- @Override
- protectedvoidonCreate(BundlesavedInstanceState){
- super.onCreate(savedInstanceState);
- setContentView(R.layout.activity_main);
- init();
- initAdapter();
- }
- privatevoidinit(){
- autoText=(AutoCompleteTextView)findViewById(R.id.autoText);
- autoMultiText=(MultiAutoCompleteTextView)findViewById(R.id.autoMultiText);
- }
- privatevoidinitAdapter(){
- ArrayAdapter<String>adapter=newArrayAdapter<String>(this,android.R.layout.simple_dropdown_item_1line,keywords);
- autoText.setAdapter(adapter);
- autoMultiText.setAdapter(adapter);
- autoMultiText.setTokenizer(newMultiAutoCompleteTextView.CommaTokenizer());
- }
- }
效果:
更多相关文章
- Android(安卓)Dialog的使用
- Android(安卓)常用样式设置
- listview常用的优化技巧
- android语音搜索结果显示页实现
- Android自定义对话框(Dialog)
- Android深入探究-- 实现即时拍照并上传
- android各种提示Dialog 弹出框
- Android(安卓)强制设置横屏或竖屏 设置全屏
- android shape的使用