Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> Android開發系列(二十):AutoCompleteTextView(自動完成文本框)的功能和用法

Android開發系列(二十):AutoCompleteTextView(自動完成文本框)的功能和用法

編輯:關於Android編程

當用戶輸入一定的字符之後,自動完成文本框能夠顯示一個下拉菜單,供用戶從中選擇,當用戶選擇某個菜單項之後,AutoCompleteTextView可以按照用戶的選擇自動填寫該文本框

AutoCompleteTextView是從EditText派生而出,比普通編輯框多了一個功能:輸入一定字符後,自動完成文本。

下邊我們看下它的屬性:

android:completionHint:設置下拉菜單中的提示標題

android:completionHintView:設置下拉菜單中提示標題的視圖

android:dropDownHeight:設置下拉菜單的高度

android:dropDownHorizontalOffset:設置下拉菜單與文本框之間的水平便宜,下拉菜單默認與文本框左對齊

android:dropDownVerticalOffset:設置下拉菜單與文本框之間的垂直偏移,下拉菜單默認與文本框左對齊

android:dropDownWidth:設置下拉菜單的寬度

android:popupleBackground:設置下拉菜單的背景


另外,AutonCompleteTextView派生了一個子類:MultiAutoCompleteTextView,該子類允許輸入多個提示項,每個提示項之間用分隔符分割。

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


我們首先,新建一個Android項目,然後就可以編寫main.xml文件:








然後,我們編寫java代碼,AutoCompleteTextViewTest.java:

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[]{
		"[email protected]",
		"[email protected]",
		"[email protected]",
		"[email protected]",
		"[email protected]",
		"[email protected]",
		"[email protected]",
	};
	@Override
	public void onCreate(Bundle savedInstanceState)
	{
		super.onCreate(savedInstanceState);
		setContentView(R.layout.main);
		// 創建一個ArrayAdapter,封裝數組
		ArrayAdapter aa = new ArrayAdapter(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());
	}
}

效果圖如下:



  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved