AutoCompleteTextView
自动完成显示文本
-
自动完成编辑框一般用于搜索文本框,如在电商App的搜索框输入商品文字时,下方会自动弹出提示词列表。
XML中的属性 | AutoCompleteTextView类的设置方法 | 说明 |
---|---|---|
completionHint | setCompletionHint | 设置下拉列表底部的提示文字 |
conpletionThreshold | setThreshold | 设置至少输入多少个字符才会显示 |
dropDownHorizontalOffset | setDropDownHorizontalOffset | 设置下拉列表与文本框之间的水平偏移 |
dropDownVerticalOffset | setDropDownVerticalOffset | 设置下拉列表与文本框之间的垂直偏移 |
dropDownHeight | setDropDownHeight | 设置下拉列表的高度 |
dropDownWidth | setDropDownWidth | 设置下拉列表的宽度 |
无 | setAdapter | 设置下拉列表的数据适配器 |
3.步骤
1)加入自动完成文本框
2)将自动完成文本框引用到java素材
3)
XML
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">
<AutoCompleteTextView
android:completionThreshold="3"
android:id="@+id/autoCompleteTextView"
android:layout_width="200dp"
android:layout_height="wrap_content"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.216"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.497" />
<Button
android:id="@+id/button2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="提交"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.767"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.499" />
</androidx.constraintlayout.widget.ConstraintLayout>
java
package com.example.myapplication;
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.ArrayAdapter;
import android.widget.AutoCompleteTextView;
import android.widget.Button;
import android.widget.EditText;
import android.widget.RatingBar;
import android.widget.Toast;
public class MainActivity extends AppCompatActivity {
AutoCompleteTextView autoCompleteTextView;
String[]str=new String[]{"Android","Android studio","Android demo","Android project","Android app"};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
autoCompleteTextView.findViewById(R.id.autoCompleteTextView);
//给自动完成文本框设置显示内容,通过设置设配器完成
//需要先定义一个适配器
ArrayAdapter<String>adapter=new ArrayAdapter<String>(MainActivity.this,R.layout.item,str);
autoCompleteTextView.setAdapter(adapter);
}
}
加输入框的左间距
item.xml
<?xml version="1.0" encoding="utf-8"?>
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:padding="30dp"
android:layout_height="match_parent">
</TextView>