Android学习笔记二十一之AutoCompleteTextView(自动提示文本框)和MutiAutoCompleteTextView(多提示项的自动提示文本框)

来源:互联网 发布:php参考文献近两年 编辑:程序博客网 时间:2024/05/23 00:00

Android学习笔记二十一之AutoCompleteTextView(自动提示文本框)和MutiAutoCompleteTextView(多提示项的自动提示文本框)

  AutoCompleteTextView和MutiAutoCompleteTextView的用法和属性基本一样,所以就放在一起讲了。这两个控件都是用于给用户更好的交互,输入会自动提示。下面介绍一下基本的属性:

  • android:completionHint属性:设置出现在下拉菜单中的提示标题
  • android:completionThreshold属性:设置用户至少输入多少个字符才会显示提示
  • android:dropDownHorizontalOffset属性:下拉菜单于文本框之间的水平偏移。默认与文本框左对齐
  • android:dropDownVerticalOffset属性:直偏移量
  • android:dropDownHeight属性:下拉菜单的高度
  • android:dropDownWidth属性:下拉菜单的宽度
  • android:singleLine属性:单行显示
  • android:dropDownAnchor属性:设置下拉菜单的定位”锚点”组件,没有设置的时候默认是Textview组件
  • android:dropDownSelector属性:设置下拉菜单点击效果
  • android:popupBackground属性:设置下拉菜单的背景

这就是基本的属性,下面我们实现一个简单的例子,体会一下这两个控件:

Activity代码:

private AutoCompleteTextView tv_ac;private MultiAutoCompleteTextView tv_mac;private String[] content = {"AA", "aa", "ad", "AD", "As", "AS", "as"};@Overrideprotected void onCreate(Bundle savedInstanceState) {    super.onCreate(savedInstanceState);    setContentView(R.layout.activity_main);    tv_ac = (AutoCompleteTextView) findViewById(R.id.tv_ac);    tv_mac = (MultiAutoCompleteTextView) findViewById(R.id.tv_mac);    ArrayAdapter<String> adapter = new ArrayAdapter<String>(getApplicationContext(), android.R.layout.simple_list_item_1, content);    tv_ac.setAdapter(adapter);    ArrayAdapter<String> adapter2 = new ArrayAdapter<String>(getApplicationContext(), android.R.layout.simple_dropdown_item_1line, content);    tv_mac.setAdapter(adapter2);    tv_mac.setTokenizer(new MultiAutoCompleteTextView.CommaTokenizer());}

布局文件代码:

<?xml version="1.0" encoding="utf-8"?><LinearLayout 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:orientation="vertical"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="com.example.autocompletedemo.MainActivity"><AutoCompleteTextView    android:id="@+id/tv_ac"    android:layout_width="match_parent"    android:layout_height="wrap_content"    android:layout_marginLeft="8dp"    android:layout_marginRight="8dp"    android:completionHint="选择编程语言"    android:completionThreshold="1"    android:dropDownHorizontalOffset="5dp"    android:textColor="#000000" /><MultiAutoCompleteTextView    android:id="@+id/tv_mac"    android:layout_width="match_parent"    android:layout_height="wrap_content"    android:layout_marginLeft="8dp"    android:layout_marginRight="8dp"    android:layout_marginTop="50dp"    android:completionHint="选择你喜欢的运动"    android:completionThreshold="1"    android:dropDownHorizontalOffset="5dp"    android:textColor="#000000" /></LinearLayout>

实现的效果图:

猛戳下载源码

照例,附上国内镜像API

阅读全文
0 0
原创粉丝点击