Android之自動文本輸入識別提示,android文本識別
相信大家都熟悉自動識別提示吧,在我們的生活中隨處可見,今天就讓我為大家簡單介紹一下它是如何設計的。
所謂自動識別輸入即是根據使用者輸入的已有資訊,為使用者提示可能的值,方便使用者完成輸入。在Android裝置上這種功能分為:AutoCompleteTextView和MultiAutoCompleteTextView,前者為單個的自動識別,類似與搜尋引擎的輸入框提示;後者為多個值自動識別,類似與發郵件時的郵箱輸入框。那它們倆到底如何使用呢?下面就讓我們一起學習一下吧。
首先是布局檔案:
<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=".Activityfive" > <AutoCompleteTextView android:id="@+id/acTextView" android:layout_width="match_parent" android:layout_height="wrap_content" android:hint="請輸入姓名:" android:textColor="#000" android:maxLength="10" /> <MultiAutoCompleteTextView android:id="@+id/macTextView" android:layout_below="@id/acTextView" android:layout_width="match_parent" android:layout_height="wrap_content" android:hint="請輸入城市:" android:textColor="#000" android:maxLength="20" /></RelativeLayout>
註:android:hint屬性為提示文字內容,當如何輸入框獲得焦點後自動消失
下面是我們的Action:
import android.app.Activity;import android.os.Bundle;import android.widget.ArrayAdapter;import android.widget.AutoCompleteTextView;import android.widget.MultiAutoCompleteTextView;public class Activityfive extends Activity{ private AutoCompleteTextView acTextView; private MultiAutoCompleteTextView macTextView; private String [] arr = {"abc","abx","abo","bdc","bdf"}; private String [] brr = {"ab北京","ab南京","ab東京","bb莫斯科","bb英國","bb美國"}; @Override protected void onCreate(Bundle savedInstanceState) { // TODO Auto-generated method stub super.onCreate(savedInstanceState); setContentView(R.layout.activity_five); acTextView = (AutoCompleteTextView) findViewById(R.id.acTextView); macTextView = (MultiAutoCompleteTextView) findViewById(R.id.macTextView); ArrayAdapter<String> arrAdapt = new ArrayAdapter<String>(this, android.R.layout.simple_dropdown_item_1line, arr); acTextView.setAdapter(arrAdapt); ArrayAdapter<String> brrAdapt = new ArrayAdapter<String>(this, android.R.layout.simple_dropdown_item_1line, brr); macTextView.setAdapter(brrAdapt); macTextView.setThreshold(1);//設定輸入多少個字元開始自動匹配 macTextView.setTokenizer(new MultiAutoCompleteTextView.CommaTokenizer());//設定分隔字元 }}
代碼很簡單,沒有什麼深奧的地方,相信大家一看就可以理解,對於一些不好理解的地方,我也已經添加了注釋,希望對你有用。