本文介绍的是Android常用控件AutoCompleteTextView的使用方法
下面是导读:
1.什么时AutoCompleteTextView
2.如何使用AutoCompleteTextView
3.总结
1.什么是AutoCompleteTextView?
在输入框中输入我们想要输入的信息就会出现其他与其相关的提示信息,这种效果在Android中是用AutoCompleteTextView实现的。
下图是Android6.0系统的AutoCompleteTextView样式:
2.如何使用AutoCompleteTextView?
第一步:在布局文件中创建AutoCompleteTextView
<AutoCompleteTextView
android:layout_width="384dp"
android:layout_height="wrap_content"
android:id="@+id/auto"
android:hint="自动补全demo"
android:textSize="16sp"
tools:layout_editor_absoluteY="318dp"
app:layout_constraintRight_toRightOf="@+id/seekBar"
android:layout_below="@+id/date_java"
android:layout_alignParentEnd="true"
android:layout_marginEnd="10dp" />
第二步:定义提示条目样式
新建list_item.xml布局文件,内容如下
<?xml version="1.0" encoding="utf-8"?>
<TextView
xmlns:app="http://schemas.android.com/apk/res/android"
app:layout_width="match_parent"
app:layout_height="50dp"
app:background="#43fdfdfd"
app:paddingStart="10dp"
>
</TextView>
(布局是可以随意发挥的,按照你的审美观点走)
第三步:这一步可以分两种方法,根据需要,可以选不同的方法
准备工作:
在Activity类中初始以下数据(直接写在public xxx extends Activity的中括号里最前面)
AutoCompleteTextView autoCompleteTextView=null;
static final String[] COUNT=new String[]
{
"ab","cd","as","de","cg","sddfd","sdde","sfs","fff"
,"sss","ffe","sfg","sed","dfg","qwe","dfss",
"ddf","dfsd","ddfg"
};
//这里的数据都是固定的,提前设计好的
首先是动态数据:
在onCreate()方法里写以下代码:
//初始化auto对象
autoCompleteTextView= (AutoCompleteTextView) findViewById(R.id.auto);
//创建一个list,为其提供数据
List<String> list =new ArrayList<String>();
list.add("测试");
list.add("测试2");
list.add("测试xx");
list.add("xx测试");
//设置适配器
ArrayAdapter<String> arrayAdapter =new ArrayAdapter<String>(this,R.layout.list,list);
//绑定适配器
autoCompleteTextView.setAdapter(arrayAdapter);
静态数据
在onCreate()方法里写以下代码:
//auto对象
autoCompleteTextView= (AutoCompleteTextView) findViewById(R.id.auto);
//传入提前声明好的数据
ArrayAdapter<String> arrayAdapter =new ArrayAdapter<String>(this,R.layout.list,COUNT);
//绑定适配器
autoCompleteTextView.setAdapter(arrayAdapter);
3.总结
简单的配置已经完全可以达到使用目的,具体的美化就要发挥你的审美能力喽
补充:
AutoCompleteTextView常用的xml属性
android:completionHint 设置出现在下拉菜单中的提示标题
android:completionThreshold 设置用户至少输入多少个字符才会显示提示
android:dropDownHorizontalOffset 下拉菜单于文本框之间的水平偏移。默认与文本框左对齐
android:dropDownHeight 下拉菜单的高度
android:dropDownWidth 下拉菜单的宽度
android:singleLine 单行显示
android:dropDownVerticalOffset 垂直偏移量