zoukankan      html  css  js  c++  java
  • Android开发系列(二十):AutoCompleteTextView(自己主动完毕文本框)的功能和使用方法

    当用户输入一定的字符之后,自己主动完毕文本框可以显示一个下拉菜单,供用户从中选择,当用户选择某个菜单项之后,AutoCompleteTextView可以依照用户的选择自己主动填写该文本框

    AutoCompleteTextView是从EditText派生而出,比普通编辑框多了一个功能:输入一定字符后,自己主动完毕文本。

    下边我们看下它的属性:

    android:completionHint:设置下拉菜单中的提示标题

    android:completionHintView:设置下拉菜单中提示标题的视图

    android:dropDownHeight:设置下拉菜单的高度

    android:dropDownHorizontalOffset:设置下拉菜单与文本框之间的水平廉价,下拉菜单默认与文本框左对齐

    android:dropDownVerticalOffset:设置下拉菜单与文本框之间的垂直偏移,下拉菜单默认与文本框左对齐

    android:dropDownWidth:设置下拉菜单的宽度

    android:popupleBackground:设置下拉菜单的背景


    另外,AutonCompleteTextView派生了一个子类:MultiAutoCompleteTextView,该子类同意输入多个提示项,每一个提示项之间用分隔符切割。

    MultiAutoCompleteTextView提供setTokenizer()方法设置分隔符。


    我们首先,新建一个Android项目,然后就能够编写main.xml文件:

    <span style="font-size:14px;"><?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    	android:orientation="vertical"
    	android:layout_width="fill_parent"
    	android:layout_height="fill_parent"
    	>
    <!-- 定义一个自己主动完毕文本框,指定输入一个字符后进行提示 -->
    <AutoCompleteTextView  
    	android:hint="请填写您的邮箱地址"
    	android:id="@+id/auto"
    	android:layout_width="fill_parent" 
    	android:layout_height="wrap_content" 
    	android:dropDownHorizontalOffset="0dp"
    	android:completionThreshold="1"/>
    <!-- 定义一个MultiAutoCompleteTextView组件 -->
    <MultiAutoCompleteTextView
        android:id="@+id/mauto"
    	android:layout_width="fill_parent"
    	android:layout_height="wrap_content"
    	android:completionThreshold="1"
    	/>
    </LinearLayout>
    </span>
    然后,我们编写java代码,AutoCompleteTextViewTest.java:

    <span style="font-size:14px;">package org.crazyit.ui;
    
    import android.app.Activity;
    import android.os.Bundle;
    import android.view.View;
    import android.view.View.OnClickListener;
    import android.widget.ArrayAdapter;
    import android.widget.AutoCompleteTextView;
    import android.widget.Button;
    import android.widget.MultiAutoCompleteTextView;
    import android.widget.TextView;
    
    public class AutoCompleteTextViewTest extends Activity
    {
    	AutoCompleteTextView actv;
    	MultiAutoCompleteTextView mauto;
    	// 定义字符串数组,作为提示的文本
    	String[] books = new String[]{
    		"Big_AdamApple@qq.com",
    		"Big_AdamApple@baidu.com",
    		"Big_AdamApple@gmail.com",
    		"Big_AdamApple@sina.com",
    		"Big_AdamApple@163.com",
    		"Big_AdamApple@mail.com",
    		"Big_AdamApple@11.com",
    	};
    	@Override
    	public void onCreate(Bundle savedInstanceState)
    	{
    		super.onCreate(savedInstanceState);
    		setContentView(R.layout.main);
    		// 创建一个ArrayAdapter,封装数组
    		ArrayAdapter<String> aa = new ArrayAdapter<String>(this,
    			android.R.layout.simple_dropdown_item_1line, books);
    		actv = (AutoCompleteTextView)findViewById(R.id.auto);
    		// 设置Adapter
    		actv.setAdapter(aa);
    		mauto = (MultiAutoCompleteTextView)findViewById(R.id.mauto);
    		// 设置Adapter
    		mauto.setAdapter(aa);
    		// 为MultiAutoCompleteTextView设置分隔符
    		mauto.setTokenizer(new MultiAutoCompleteTextView.CommaTokenizer());
    	}
    }</span>

    效果图例如以下:



  • 相关阅读:
    49个128*128像素的天气png图标
    非常漂亮的千千静听皮肤[Warp]出自梦梦的作品
    腾讯的面试题
    什么是函数参数,如何传递函数参数
    我看了这视频,情不自禁的笑了
    WindowBlinds基础使用教程
    晒工资网站
    一个可以搜索word文档,电子表格,PDF,幻灯片的搜索引擎
    网页设计常用png小图标一套
    使用U盘时候的”无法停用通用卷”的解决办法
  • 原文地址:https://www.cnblogs.com/gcczhongduan/p/4215243.html
Copyright © 2011-2022 走看看