安卓高级组件-----自动编辑文本框

        自动编辑文本框(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字符串创建两种。

 

水平不足,不明之处请留言,我继续改正!

 

posted @ 2017-02-28 10:01  爱潜水的猪  阅读(1167)  评论(2编辑  收藏  举报