安卓進階組件-----自動編輯文字框,安卓-----文字框
自動編輯文字框(AutoCompleteTextView)繼承自EditText,能夠接受使用者的輸入編輯,但是有這自己的特色功能:輸入一定的字元以後會彈出下拉式清單提示供使用者選擇,使用者選擇之後會自動填滿文字框。這項功能正如瀏覽器的輸入提示:
由於自動編輯文字框繼承於EditText,它能夠支援EditText的全部屬性,但是在輸入提示方面它有著自己的獨特屬性:
android:completionHint 為彈出下拉式功能表指定提示標題
android:completionThreshold 指定輸入多少個字元以後會出現提示
android:dropDownHeight 指定下拉式功能表的高度
android:dropDownHorizontalOffset 指定下拉式功能表和文字框的水平位移
android:dropDownVerticalOffset 指定下拉帶單和文字框的垂直位移
android:dropDownWidth 指定下拉式功能表寬度
android:popupBackground 為下拉式功能表設定背景
輸入提示框中會有我們輸入資訊的補充,因此我們需要給輸入提示框配置資訊,這是要通過適配器實現。下面我們建立一個帶輸入提示框的AutoCompleteTextView
執行個體操作:
1.在可視化介面拖入一個自動完成編輯框,並設定2個字元彈出提示和編輯框出布局正中間
<AutoCompleteTextView android:id="@+id/autoCompleteTextView1" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_gravity="center" android:completionThreshold="2" android:hint="請輸入" android:ems="10" > <requestFocus /> </AutoCompleteTextView>
2.建立適配器。適配器可以通過java數組或資源檔建立,這裡我們採用資源檔建立適配器
資源檔:
<?xml version="1.0" encoding="UTF-8"?><resources > <string-array name="data"> <item >nanjing-xuanwu</item> <item >nanjing-jiangning</item> <item >nanjing-qixia</item> <item >nanjing-jianye</item> </string-array></resources>
java代碼:
AutoCompleteTextView atc = (AutoCompleteTextView)findViewById(R.id.autoCompleteTextView1);//擷取組件 ArrayAdapter<CharSequence> aa = ArrayAdapter.createFromResource(this, R.array.data, R.layout.support_simple_spinner_dropdown_item);//建立
3.綁定適配器
atc.setAdapter(aa);
運行結果
總結:對於AutoCompletionEditText使用,主要是完善它的提示功能。提示詞使用適配器加入,對於適配器建立,主要有通過資源檔建立和java字串建立兩種。
水平不足,不明之處請留言,我繼續改正!