Utilisation de base d'AutoCompleteTextView (zone de texte complétée automatiquement)
Introduction à cette section :
Cette section continue d'en apprendre davantage sur les contrôles de classe Adapter. Cette fois, elle apporte AutoCompleteTextView (zone de texte automatiquement complétée). Je pense que si vous faites attention, vous constaterez que vous pouvez définir vous-même le style de l'élément pour les commandes connectées à l'adaptateur, n'est-ce pas ? Ou parlons de la disposition de chaque élément ~ Vous pouvez y jouer comme vous le souhaitez ~ Eh bien, sans plus tarder, commençons cette section ~ Au fait, publiez l'API officielle : AutoCompleteTextView
1. Attributs associés :
- android : CompletionHint : Définissez le titre de l'invite dans le menu déroulant
- android:completionHintView : Définissez le menu déroulant à afficher dans la vue de l'invite
- android:completionThreshold : spécifiez combien de caractères l'utilisateur doit saisir avant que l'invite ne s'affiche
- android:dropDownAnchor : définissez le composant "ancre" de positionnement du dépôt ? -menu bas Si aucun attribut n'est spécifié, Ce TextView sera utilisé comme composant "ancre" de positionnement
- android:dropDownHeight : Définissez la hauteur du menu déroulant
- android:dropDownWidth : Définir le menu déroulant La largeur du menu
- android:dropDownHorizontalOffset : Spécifier l'espacement horizontal entre le menu déroulant et le texte
- android:dropDownVerticalOffset : Spécifiez le menu déroulant et le texte L'espacement vertical entre
- android:dropDownSelector : Définissez l'effet de clic du menu déroulant
- android:popupBackground : Définissez l'arrière-plan du menu déroulant
De plus, il existe en fait un MultiAutoCompleteTextView (auto- zone de texte complète pour plusieurs éléments d'invite) Il a des fonctions similaires à cet AutoCompleteTextView, et les propriétés sont également les mêmes. Quelles sont les différences spécifiques ? Faisons l'expérience dans le code suivant ~ Les deux autres sont des correspondances de mots entiers, par exemple, petit cochon : Si vous entrez petit ->, Piggy sera invité, mais si vous entrez Piggy->, Piggy ne sera pas invité !
2. Exemple de code :
Exécution du rendu :
Code d'implémentation :
Il n'est pas nécessaire de personnaliser la mise en page ici, utilisez simplement ArrayAdapter pour l'implémenter !
Fichier de mise en page : activity_main.xml :
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"
androïde : layout_width="match_parent"
android:layout_height="48dp"
android:completionThreshold="1"
android:dropDownHorizontalOffset="5dp"
android:text="" />
</LinearLayout>
MainActivity.java:
private AutoCompleteTextView atv_content;
private MultiAutoCompleteTextView matv_content;
privée statique 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& lt;Chaîne> adapter2 = new ArrayAdapter<String>(getApplicationContext(), android.R.layout.simple_dropdown_item_1line, data);
matv_content.setAdapter(adapter);
matv_content.setTokenizer(new MultiAutoCompleteTextView.CommaTokenizer());
}
}
Analyse partielle du code :
- android:completionThreshold="1": Ici, nous définissons une invite à afficher lors de la saisie d'un mot
- android :completionHint="Veuillez saisir le contenu de la recherche" : C'est le texte affiché en bas de la boîte, si vous pensez qu'il est moche Vous pouvez définir une vue avec android:completionHintView !
- android:dropDownHorizontalOffset="5dp": Définissez la marge horizontale sur 5dp
- matv_content.setTokenizer(new MultiAutoCompleteTextView.CommaTokenizer()); setTokenizer consiste à définir le séparateur pour celui-ci
3. Exemple de téléchargement de code :
AutoCompleteTextViewDemo.zip
Résumé de ceci section :
Cette section vous présente AutoCompleteTextView (zone de texte à saisie automatique), qui est très simple~ Vous pouvez étendre votre propre développement en fonction des besoins réels de développement~D'accord, c'est tout, merci~