Android基礎入門教程——2.4.11 AutoCompleteTextView(自動完成文字框)的基本使用
1.相關屬性:
android:completionHint:設定下拉式功能表中的提示標題 android:completionHintView:定義提示視圖中顯示下拉式功能表 android:completionThreshold:指定使用者至少輸入多少個字元才會顯示提示 android:dropDownAnchor:設定下拉式功能表的定位”錨點”組件,如果沒有指定改屬性,
將使用該TextView作為定位”錨點”組件 android:dropDownHeight:設定下拉式功能表的高度 android:dropDownWidth:設定下拉式功能表的寬度 android:dropDownHorizontalOffset:指定下拉式功能表與文本之間的水平間距 android:dropDownVerticalOffset:指定下拉式功能表與文本之間的豎直間距 android:dropDownSelector:設定下拉式功能表點擊效果 android:popupBackground:設定下拉式功能表的背景
另外其實還有個MultiAutoCompleteTextView(多提示項的自動完成文字框)
和這個AutoCompleteTextView作用差不多,屬性也一樣,具體區別在哪裡,
我們在下面的代碼中來體驗~另外這兩個都是全詞匹配的,比如,小豬豬:
你輸入小->會提示小豬豬,但是輸入豬豬->卻不會提示小豬豬!
2.程式碼範例:
運行:
實現代碼:
這裡的話就不自訂布局了,直接用ArrayAdapter來實現吧!
布局檔案:activity_main.xml:
MainActivity.java:
public class MainActivity extends AppCompatActivity { private AutoCompleteTextView atv_content; private MultiAutoCompleteTextView matv_content; private static final String[] data = new String[]{ 小豬豬, 小狗狗, 小雞雞, 小貓貓, 小咪咪 }; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); atv_content = (AutoCompleteTextView) findViewById(R.id.atv_content); matv_content = (MultiAutoCompleteTextView) findViewById(R.id.matv_content); ArrayAdapter adapter = new ArrayAdapter(MainActivity. this, android.R.layout.simple_dropdown_item_1line, data); atv_content.setAdapter(adapter); ArrayAdapter adapter2 = new ArrayAdapter(getApplicationContext(), android.R.layout.simple_dropdown_item_1line, data); matv_content.setAdapter(adapter); matv_content.setTokenizer(new MultiAutoCompleteTextView.CommaTokenizer()); }}
部分程式碼分析:
android:completionThreshold=”1”:這裡我們設定了輸入一個字就顯示提示 android:completionHint=”請輸入搜尋內容”:這是框框底部顯示的文字,如果覺得醜
可以android:completionHintView設定一個View! android:dropDownHorizontalOffset=”5dp”:設定了水平邊距為5dp matv_content.setTokenizer(new MultiAutoCompleteTextView.CommaTokenizer());
setTokenizer是為其設定分隔字元
本節小結:
本節給大家介紹了AutoCompleteTextView(自動完成文字框),非常簡單~
大家可根據實際開發需求自行拓展~好的,就說這麼多,謝謝~