AutoCompleteTextView,MultiAutoCompleteTextView 用法举例

AutoCompleteTextView

    按下去变红色

MultiAutoCompleteTextView(用逗号可以添加多个关键字)

 

AutoCompleteTextView,MultiAutoCompleteTextView都可以在输入时完成匹配。后者是前者的子类,只不过可以匹配多个字符,字符间用“,”来分割。一般我们不用什么高级的adapter来放置数据,直接用ArrayAdapter是个比较好的选择

 

先看一下他们的属性:

android:completionHint                   下拉列表下面的标题
android:completionHintView           设置下拉菜单中提示标题的视图
android:completionThreshold          设置用户输入多少字符才会出现提示
android:dropDownAnchor               下拉列表的“锚点”或挂载点,如果不设置,则用textView本身作为“锚点”
android:dropDownHeight                下拉列表高度
android:dropDownWidth                 下拉列表宽度
android:dropDownHorizontalOffset 下拉列表距离左边的距离
android:dropDownVericalOffset      下拉菜单和文本之间的垂直偏移量
android:dropDownSelector             下拉列表被选中的行的背景

 

package com.kale.autocompletetextview;

import android.app.Activity;
import android.os.Bundle;
import android.widget.ArrayAdapter;
import android.widget.AutoCompleteTextView;
import android.widget.MultiAutoCompleteTextView;

public class MainActivity extends Activity {

    AutoCompleteTextView acTv;
    MultiAutoCompleteTextView mcTv;
    String []books = new String[] {
            "android",
            "java",
            "xml",
            "Ant"
    };
    
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        //创建一个adapter来封装数组
        ArrayAdapter<String> aa = new ArrayAdapter<>(this, android.R.layout.simple_dropdown_item_1line,books);
        acTv = (AutoCompleteTextView)findViewById(R.id.auto_autoCompleteTv_id);
        acTv.setAdapter(aa);
        
        mcTv = (MultiAutoCompleteTextView)findViewById(R.id.multi_autoCompleteTv_id);
        mcTv.setAdapter(aa);
        //为其设置分割符
        mcTv.setTokenizer(new MultiAutoCompleteTextView.CommaTokenizer());
        
    }
}

 

xml文件

<RelativeLayout 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">

    <!-- completionHint设置下拉菜单中的标题 -->
    <!-- 
            android:completionHint        下拉列表下面的标题
            android:completionHintView  设置下拉菜单中提示标题的视图
            android:completionThreshold 设置用户输入多少字符才会出现提示
            android:dropDownAnchor              下拉列表的“锚点”或挂载点,如果不设置,则用textView本身作为“锚点”
            android:dropDownHeight        下拉列表高度
            android:dropDownWidth        下拉列表宽度
            android:dropDownHorizontalOffset    下拉列表距离左边的距离
            android:dropDownVericalOffset  下拉菜单和文本之间的垂直偏移量
            android:dropDownSelector    下拉列表被选中的行的背景
     -->
     
    <AutoCompleteTextView 
        android:id="@+id/auto_autoCompleteTv_id"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        
        android:completionHint="这里显示的是提示字符"
        android:dropDownHorizontalOffset="10dp"
        android:dropDownVerticalOffset="10dp"
        android:dropDownHeight="150dp"
        android:completionThreshold="1"
        android:dropDownSelector="#ff0000"
        />

<MultiAutoCompleteTextView android:id="@+id/multi_autoCompleteTv_id" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginTop="80dp" android:completionThreshold="1"/> </RelativeLayout>

源码下载:http://download.csdn.net/detail/shark0017/7647965

posted @ 2014-07-17 18:43  developer_Kale  阅读(1101)  评论(0编辑  收藏  举报
网站流量统计工具