Android自动完成文本框(AutoCompleteTextView)的功能和用法

来源:互联网 发布:淘宝盗用视频怎么举报 编辑:程序博客网 时间:2024/05/17 01:36

       自动完成文本框(AutoCompleteTextView)从EditText派生而出,实际上他也是一个文本编辑框,但它比普通编辑框多了一个功能:当用户输入一定字符后,自动完成文本框会显示一个下拉菜单,供用户选择,当用户选择某个菜单后,AutoCompleteTextView按用户选择自动填写该文本框

       AutoCompleteTextView除了可使用EditText提供的XML属性和方法之外,还有以下的属性

android:completionHintsetCompletionHint(CharSequence)设置下拉菜单中的提示标题android:completionHintView 设置下拉菜单中提示标题的视图android:completionThresholdsetThreshold(int)设置用户至少输入几个字符才会显示提示adnroid:dropDownAnchorsetDropDownAnchor(int)设置下拉菜单的定位“锚点”组件,如果没有指定该属性,将使用该TextView本身作为定位”锚点“组件adnroid:dropDownHeightsetDropDownHeight(int)设置下拉菜单的高度android:dropDownHorizontalOffest 设置下拉菜单与文本框之间的水平偏移,下拉菜单默认与文本框左对齐adnroid:dropDownVerticalOffest 设置下拉菜单与文本框之间的垂直偏移,下拉菜单默认紧跟文本框android:dropDownWidthsetDropDownWidth(int)设置下拉菜单的宽度android:popupBackgroundsetDropDownBackgroundResource(int)设置下拉菜单的背景       使用AutoCompleteTextView很简单,只要为它设置一个Adapter,该Adapter封装了AutoCompleteTextView的预测文本,下面是布局的代码

 autocompletetextview.xml     

<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    android:layout_width="match_parent"    android:layout_height="match_parent"    android:orientation="vertical" >   <!--  定义一个自动完成文本框,指定输入一个字符后进行提示 -->   <AutoCompleteTextView        android:id="@+id/auto"       android:layout_width="fill_parent"       android:layout_height="40dip"       android:background="#CDCDB4"       android:completionHint="请选择您喜欢的书"          android:dropDownHorizontalOffset="20dp"       android:completionThreshold="1"/>               </LinearLayout>

MainAcitivity.java

package com.example.autocompletetextview;import android.app.Activity;import android.app.ActionBar;import android.app.Fragment;import android.os.Bundle;import android.view.LayoutInflater;import android.view.Menu;import android.view.MenuItem;import android.view.View;import android.view.ViewGroup;import android.widget.ArrayAdapter;import android.widget.AutoCompleteTextView;import android.os.Build;public class MainActivity extends Activity {//定义字符串数组,作为提示的文本String[] books = new String[] {"my name is xie","my name is qing","my name is cheng","my name is ding","my name is na"};    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_first);        //创建一个ArrayAdapter,封装数组        ArrayAdapter<String> aa = new ArrayAdapter<String>(this, android.R.layout.simple_dropdown_item_1line, books);        AutoCompleteTextView view = (AutoCompleteTextView)findViewById(R.id.auto);        //设置Adapter        view.setAdapter(aa);            }}

执行结果



0 0
原创粉丝点击