AutoCompleteTextView的基本使用

简介: 本节继续来学习Adapter类的控件,这次带来的是AutoCompleteTextView(自动完成文本框)。官方API:AutoCompleteTextView

本节继续来学习Adapter类的控件,这次带来的是AutoCompleteTextView(自动完成文本框)。

官方API:AutoCompleteTextView

1.相关属性:

  • android:completionHint:设置下拉菜单中的提示标题
  • android:completionHintView:定义提示视图中显示下拉菜单
  • android:completionThreshold:指定用户至少输入多少个字符才会显示提示
  • android:dropDownAnchor:设置下拉菜单的定位"锚点"组件,如果没有指定改属性, 将使用该TextView作为定位"锚点"组件
  • android:dropDownHeight:设置下拉菜单的高度
  • android:dropDownWidth:设置下拉菜单的宽度
  • android:dropDownHorizontalOffset:指定下拉菜单与文本之间的水平间距
  • android:dropDownVerticalOffset:指定下拉菜单与文本之间的竖直间距
  • android:dropDownSelector:设置下拉菜单点击效果
  • android:popupBackground:设置下拉菜单的背景

MultiAutoCompleteTextView(多提示项的自动完成文本框) 和这个AutoCompleteTextView作用差不多,属性也一样。

2.代码示例:

运行效果图

网络异常,图片无法展示
|

实现代码

这里的话就不自定义布局了,直接用ArrayAdapter来实现吧!

布局文件:activity_main.xml

<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"
    tools:context=".MainActivity">
    <AutoCompleteTextView
        android:id="@+id/atv_content"
        android:layout_width="match_parent"
        android:layout_height="48dp"
        android:completionHint="请输入搜索内容"
        android:completionThreshold="1"
        android:dropDownHorizontalOffset="5dp" />
    <MultiAutoCompleteTextView
        android:id="@+id/matv_content"
        android:layout_width="match_parent"
        android:layout_height="48dp"
        android:completionThreshold="1"
        android:dropDownHorizontalOffset="5dp"
        android:text="" />
</LinearLayout>

MainActivity.java

public class MainActivity extends AppCompatActivity {
    private AutoCompleteTextView atv_content;
    private MultiAutoCompleteTextView matv_content;
    private static final String[] data = new String[]{
            "小猪猪", "小狗狗", "小鸡鸡", "小猫猫", "小咪咪"
    };
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        atv_content = (AutoCompleteTextView) findViewById(R.id.atv_content);
        matv_content = (MultiAutoCompleteTextView) findViewById(R.id.matv_content);
        ArrayAdapter<String> adapter = new ArrayAdapter<String>(MainActivity.
                this, android.R.layout.simple_dropdown_item_1line, data);
        atv_content.setAdapter(adapter);
        ArrayAdapter<String> adapter2 = new ArrayAdapter<String>(getApplicationContext(), android.R.layout.simple_dropdown_item_1line, data);
        matv_content.setAdapter(adapter);
        matv_content.setTokenizer(new MultiAutoCompleteTextView.CommaTokenizer());
    }
}

部分代码分析

  1. android:completionThreshold="1":这里我们设置了输入一个字就显示提示
  2. android:completionHint="请输入搜索内容":这是框框底部显示的文字,如果觉得丑 可以android:completionHintView设置一个View!
  3. android:dropDownHorizontalOffset="5dp":设置了水平边距为5dp
  4. matv_content.setTokenizer(new MultiAutoCompleteTextView.CommaTokenizer()); setTokenizer是为其设置分隔符

3.示例代码下载:

AutoCompleteTextViewDemo.zip

目录
相关文章
|
Android开发
ViewFlipper的基本使用
ViewFlipper,它是Android自带的一个多页面管理控件,且可以自动播放! 和ViewPager不同,ViewPager是一页页的,而ViewFlipper则是一层层的,和ViewPager一样,很多时候, 用来实现进入应用后的引导页,或者用于图片轮播。
98 0
|
存储 Java Android开发
ExpandableListView的基本使用
Adapter类控件是ExpandableListView,就是可折叠的列表,它是ListView的子类, 在ListView的基础上它把应用中的列表项分为几组,每组里又可包含多个列表项。
93 0
|
算法 开发工具 Android开发
android自定义控件-Path的进阶使用方法
android自定义控件-Path的进阶使用方法
308 0
android自定义控件-Path的进阶使用方法
|
XML Android开发 数据格式
Android RatingBar的基本使用和自定义样式
Android RatingBar的基本使用和自定义样式
Android RatingBar的基本使用和自定义样式
|
Android开发
android RatingBar基本使用介绍
android RatingBar基本使用介绍
android RatingBar基本使用介绍
|
Android开发 数据格式 XML
FloatingActionButton的简单使用
FloatingActionButton是Support Design Library库中引入的一个新的控件,外观时尚新颖,受到很多开发者的好评。 如何使用FloatingActionButton 使用FloatingActionButton其实非常简单只需要在布局文件中引入控件即可,不过它的属性有点多,我们先来介绍一下它的属性。
1785 0
|
Android开发 容器 Java
TabLayout的简单使用
什么是TabLayout TabLayout是Support Design Library库中的一个控件,它是用来进行分组的,同时也可以作为ViewPager的指示器 TabLayout的简单使用 ●tab创建 ◇xml布局创建 ...
1137 0
|
Android开发 数据格式 XML
RecyclerView基本使用
博客地址 背景 以前在展示列表时一直都是在使用ListView。 唯一的区别大概就是适配器Adapter的不同而已。 但是后来接触到了RecyclerView之后,就喜欢上了RecyclerView。
970 0