Android開發教學
Android 開發環境配置
Android 架構
Android 應用組件
Android Hello World示例
Android 資源組織和訪問
Android Activity
Android Service
Android廣播接收器
Android內容提供者
Android碎片/片段
Android Intent過濾器
Android UI佈局
Android LinearLayout
Android RelativeLayout
Android TableLayout
Android AbsoluteLayout
Android FrameLayout
Android ListView
Android GridView
Android UI控件
Android TextView
Android EditText
Android AutoCompleteTextView
Android Button
Android ImageButton
Android CheckBox
Android ToggleButton
Android RadioButton
Android RadioGroup
Android事件處理
Android樣式和主題
Android樣式示例
Android主題示例
Android自定義組件
Android拖放
Android通知
Android基於位置服務
Android發送電子郵件
Android發送短信/SMS
Android撥打電話
發佈Android應用
ArrayAdapter
SimpleCursorAdapter
Android ProgressDialog
Android Spinner
使用活動代碼自定義Android組件
使用佈局文件自定義Android組件
Android自定義組件及屬性
Android Alertdialog(警告對話框)
Android Animation(動畫)實例
Android音頻捕獲(錄音)
Android音頻管理器實例
Android AutoCompleteTextView(自動完成)實例
Android最佳實踐
Android Bluetooth(藍牙)實例
Android Camera(攝像頭)
Android Clipboard(複製/剪貼板)
Android自定義字體
Android數據備份
Android Gestures/手勢
Android圖片效果
Android圖片切換
Android內部存儲
Android JetPlayer實例
Android JSON解析器
Android加載Spinner
Android本地化
Android登錄實例
Android MediaPlayer(多媒體播放)

Android AutoCompleteTextView

AutoCompleteTextView是一個視圖類似於EditText,但它顯示用戶鍵入的同時自動完成建議的列表。建議列表在下拉菜單中顯示。用戶可以選擇一個項目來代替編輯框的內容。

AutoCompleteTextView 屬性

以下是相關 AutoCompleteTextView 控件的重要屬性。可以查看Android官方文檔的屬性和相關方法的完整列表,可以用改變這些屬性在運行時。

屬性

描述

android:completionHint

定義在下拉菜單中顯示的提示。

android:completionHintView

定義在下拉菜單中顯示的提示視圖。

android:completionThreshold

定義之前完成建議顯示在一個下拉菜單,用戶必須鍵入的字符數。

android:dropDownAnchor

這是查看以固定自動完成下拉列表。

android:dropDownHeight

這指定下拉的基本高度。

android:dropDownHorizontalOffset

像素 - 通過下拉水平偏移量。

android:dropDownSelector

在一個下拉列表中選擇。

android:dropDownVerticalOffset

像素 - 通過下拉應垂直偏移量。

android:dropDownWidth

指定下拉的基本寬度。

android:popupBackground

設置背景。

例子

這個例子將通過簡單的步驟顯示如何創建自己的Android應用程序使用線性佈局和AutoCompleteTextView。

Step

描述

1

使用Android Studio創建一個Android應用程序項目爲:AutoCompleteTextView,並創建一個包com.yiibai.autocompletetextview。

2

修改 src/MainActivity.java 文件,添加一個click事件。

2

修改res/layout/activity_main.xml 文件的默認內容包括Android的UI控件。

3

在res/values/strings.xml中文件定義所需的常量

4

運行該應用程序啓動Android模擬器並驗證應用程序所運行的結果。

以下是修改主活動文件 src/com.yiibai.autocompletetextview/MainActivity.java的內容。這個文件可以包括每個生命週期基本的方法。

package com.yiibai.autocompletetextview; import android.os.Bundle; import android.app.Activity; import android.view.Menu; import android.widget.ArrayAdapter; import android.widget.AutoCompleteTextView; public class MainActivity extends Activity { AutoCompleteTextView autocompletetextview; String[] arr = { "MS SQL SERVER", "MySQL", "Oracle","MongoDB" }; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); autocompletetextview = (AutoCompleteTextView) findViewById(R.id.autoCompleteTextView1); ArrayAdapter

adapter
=

new

ArrayAdapter

(
this
,
android
.
R
.
layout
.
select_dialog_item
,
arr
);
autocompletetextview
.
setThreshold
(
1
);
autocompletetextview
.
setAdapter
(
adapter
);

}

@Override

public

boolean
onCreateOptionsMenu
(
Menu
menu
)

{

/* Inflate the menu; this adds items to the action bar if it is present */
getMenuInflater
().
inflate
(
R
.
menu
.
main
,
menu
);

return

true
;

}

}

下面是 res/layout/activity_main.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" android:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" tools:context=".MainActivity" > <TextView android:id="@+id/textView2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentTop="true" android:layout_centerHorizontal="true" android:layout_marginTop="25dp" android:text="@string/example_autocompletetextview" / > <AutoCompleteTextView android:id="@+id/autoCompleteTextView1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignLeft="@+id/textView2" android:layout_below="@+id/textView2" android:layout_marginTop="54dp" android:ems="10" />

在下面文件 res/values/strings.xml 的內容中定義兩個新的常量:

<string name="app_name">GUIDemo3 <string name="action_settings">Settings <string name="example_autocompletetextview">Example
showing AutoCompleteTextView

以下是 AndroidManifest.xml 文件的默認內容:

<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.yiibai.guidemo3" android:versionCode="1" android:versionName="1.0" > <uses-sdk android:minSdkVersion="8" android:targetSdkVersion="17" /> <application android:allowBackup="true" android:icon="@drawable/ic_launcher" android:label="@string/app_name" android:theme="@style/AppTheme" > <activity android:name="com.yiibai.guidemo3.MainActivity" android:label="@string/app_name" > <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" />

我們嘗試運行上面這個應用程序。AVD安裝的應用程序,並啓動它,如果一切設置和應用都沒有問題,它會顯示以下模擬器窗口: 

Android

下面的屏幕後,會出現「M」將被輸入在AutoCompleteTextView:

Android

代碼下載地下: http://pan.baidu.com/s/1gyX8E

練習:

建議在XML文件佈局AutoCompleteTextView,以及在編程時使用 AutoCompleteTextView 不同的屬性和不同的外觀嘗試上面的例子。儘量使其可編輯,更改字體顏色,字體,寬度,textSize等看到結果。也可以試試上面的例子中,多個AutoCompleteTextView控件在一個活動中。