博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
textFields
阅读量:4213 次
发布时间:2019-05-26

本文共 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/

你可能感兴趣的文章
nova 中的guestfs
查看>>
nova中的localfs
查看>>
utils/rpm_build.sh
查看>>
查看模块参数
查看>>
udev重命名网口
查看>>
pgrep
查看>>
test-definitions/blob/master/toolset/util/parallel_cmds.py
查看>>
中断API之irq_activate
查看>>
中断API之tasklet_disable_nosync/tasklet_trylock/tasklet_unlock
查看>>
中断API之tasklet_init/tasklet_kill
查看>>
内存管理API之__free_pages
查看>>
内存管理API之__get_free_pages
查看>>
内存管理API之__get_vm_area
查看>>
内存管理API之krealloc
查看>>
内存管理API之ksize
查看>>
内存管理API之alloc_pages
查看>>
linux performance tool
查看>>
test-definitions/blob/master/auto-test/bazel/bazel.sh
查看>>
test-definitions/blob/master/auto-test/bigdata/bigdata.sh
查看>>
/test-definitions/blob/master/auto-test/blktrace/blktrace.sh
查看>>