安卓高级组件-----自动编辑文本框
自动编辑文本框(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字符串创建两种。
水平不足,不明之处请留言,我继续改正!