本文共 2612 字,大约阅读时间需要 8 分钟。
textField 允许用户在你的app UI上输入text。可以是单行或者多行.将光标放在text field上会在动现在软键盘.除了输入text外,你可以选择text来进行拷贝/剪贴/复制。以及还可以自动补全. 一个在layout文件中定义的EditType 如下: <EditText android:id="@+id/email_address" android:layout_width="fill_parent" android:layout_height="wrap_content" android:hint="@string/email_hint" android:inputType="textEmailAddress" /> 其中android:inputType 还可以选择text|textEmailAddress|textUri|number|phone。来选择不同的键盘 还可以指定一些特殊的行为如:自动大写/自动补全等. 具体如下:textCapWords|textCapSentences|textAutoCorrect|textPassword|textMultiLine <EditText android:id="@+id/postal_address" android:layout_width="fill_parent" android:layout_height="wrap_content" android:hint="@string/postal_address_hint" android:inputType="textPostalAddress| textCapWords| textNoSuggestions" /> 当用户输入在EditText中输入完成时,你还可以通过android:imeOptions指定特殊的行为.例如显示serch或者send 按键. <EditText android:id="@+id/search" android:layout_width="fill_parent" android:layout_height="wrap_content" android:hint="@string/search_hint" android:inputType="text" android:imeOptions="actionSend" /> 当时actionSend具体做什么事情呢?这就需要你在activity中重写TextView.OnEditorActionListner方法如下所示: EditText editText = (EditText) findViewById(R.id.search); editText.setOnEditorActionListener(new OnEditorActionListener() { @Override public boolean onEditorAction(TextView v, int actionId, KeyEvent event) { boolean handled = false; if (actionId == EditorInfo.IME_ACTION_SEND) { sendMessage(); handled = true; } return handled; } }); 可以使用EditText的子类AutoCompleteTextView 来建议用户输入.其中AutoCompleteTextView 在layout文件中定义如下: <?xml version="1.0" encoding="utf-8"?> <AutoCompleteTextView xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/autocomplete_country" android:layout_width="fill_parent" android:layout_height="wrap_content" /> 需要在res/value/strings.xml 中提供一个数据让用户在AutoCompleteTextView 时可以选择。 <?xml version="1.0" encoding="utf-8"?> <resources> <string-array name="countries_array"> <item>Afghanistan</item> <item>Albania</item> <item>Algeria</item> <item>American Samoa</item> <item>Andorra</item> <item>Angola</item> <item>Anguilla</item> <item>Antarctica</item> ... </string-array> </resources> 然后在你的activity中为AutoCompleteTextView 设定适配器就可以了 // Get a reference to the AutoCompleteTextView in the layout AutoCompleteTextView textView = (AutoCompleteTextView) findViewById(R.id.autocomplete_country); // Get the string array String[] countries = getResources().getStringArray(R.array.countries_array); // Create the adapter and set it to the AutoCompleteTextView ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, countries); textView.setAdapter(adapter);转载地址:http://nvcmi.baihongyu.com/