[Android 9.0 Pie Java] Implémentez setOnTouchListener dans la marge de RecyclerView et fermez le clavier virtuel

en premier

RecyclerView est pratique pour afficher une liste, mais si vous la laissez par défaut, vous ne pourrez pas déclencher un événement lorsque vous touchez la marge. J'ai cherché une implémentation pour fermer le clavier logiciel en touchant la marge de RecyclerView, donc j'aimerais la partager.

32aeddc0c59703301a8fc30cf57374b6.gif

Méthode de mise en œuvre

Premier à RecyclerView

android:touchscreenBlocksFocus="true"

Sera ajouté.

fragment.xml


<LinearLayout
    android:id="@+id/scrollView"
    android:layout_width="0dp"
    android:layout_height="0dp"
    android:isScrollContainer="false"
    app:layout_constraintBottom_toTopOf="@+id/footerBorder"
    app:layout_constraintEnd_toEndOf="parent"
    app:layout_constraintStart_toStartOf="parent"
    app:layout_constraintTop_toBottomOf="@+id/headerBorder">

    <androidx.recyclerview.widget.RecyclerView
        android:id="@+id/recyclerView"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:touchscreenBlocksFocus="true"
        app:layoutManager="androidx.recyclerview.widget.LinearLayoutManager" />
</LinearLayout>

Il ne vous reste plus qu'à implémenter l'écouteur avec onCreateView ou onCreatedView.

Fragment.java


RecyclerView recyclerView = view.findViewById(R.id.recyclerView);
recyclerView.setOnTouchListener(new View.OnTouchListener() {
    @Override
    public boolean onTouch(View v, MotionEvent event) {
        //Masquer le clavier
        InputMethodManager inputMethodManager = (InputMethodManager) getContext().getSystemService(Context.INPUT_METHOD_SERVICE);
        inputMethodManager.hideSoftInputFromWindow(v.getWindowToken(), InputMethodManager.HIDE_NOT_ALWAYS);
        //Déplacer le focus vers l'arrière-plan
        recyclerView.requestFocus();
        return false;
    }
});

c'est tout.

J'espère que cela sera utile à n'importe qui.

Recommended Posts

[Android 9.0 Pie Java] Implémentez setOnTouchListener dans la marge de RecyclerView et fermez le clavier virtuel
L'histoire de l'oubli de fermer un fichier en Java et de l'échec
[Java] Obtenez les dates des derniers lundi et dimanche dans l'ordre
Implémentons la condition que la circonférence et l'intérieur de la forme Ougi soient inclus dans Java [Partie 2]
Implémentons la condition que la circonférence et l'intérieur de la forme Ougi soient inclus dans Java [Partie 1]
[Android 9.0 Pie Java] Implémenter le balayage horizontal → affichage de la boîte de dialogue → supprimer dans l'application de chat
Qu'est-ce qui n'était pas une utilisation équitable du détournement d'API Java sur Android?
Ceci et cela de la mise en œuvre du jugement en temps réel des dates en Java
Trouvez le maximum et le minimum des cinq nombres saisis en Java
Obtenez le résultat de POST en Java
Pliage et dépliage du contenu de la vue Recycleur
L'histoire de l'écriture de Java dans Emacs
De Java à C et de C à Java dans Android Studio
Discrimination d'énum dans Java 7 et supérieur
J'ai reçu les données du voyage (application agenda) en Java et j'ai essayé de les visualiser # 001
Résumer le cycle de vie des objets Java à prendre en compte dans le développement Android
Impressions et doutes sur l'utilisation de Java pour la première fois dans Android Studio
Concernant les modificateurs transitoires et la sérialisation en Java
[Java] Gestion des Java Beans dans la chaîne de méthodes
L'histoire de la fabrication d'un Othello ordinaire à Java
[Android] [Java] Gérer l'état de CheckBox de ListView
À propos de l'idée des classes anonymes en Java
L'histoire de l'apprentissage de Java dans la première programmation
Mesurer la taille d'un dossier avec Java
[Java] La partie déroutante de String et StringBuilder
J'ai comparé les caractéristiques de Java et .NET
Ressentez le passage du temps même à Java
Représente le «jour suivant» et le «jour précédent» en Java / Android
Importer des fichiers de la même hiérarchie en Java
[Développement Android] Obtenez des images du serveur avec Java et définissez-les dans ImageView! !!
Trouvez les valeurs maximum et minimum parmi les 5 nombres saisis en Java (correction ver)
Obtenez l'URL de la destination de la redirection HTTP en Java
[Android / Java] Transition d'écran et traitement de retour par fragments
Veuillez noter la division (division) de java kotlin Int et Int
[Pour les débutants] DI ~ Les bases de DI et DI au printemps ~
La comparaison d'énumération est ==, et equals est bonne [Java]
Organiser l'état actuel de Java et envisager l'avenir
Langage Java du point de vue de Kotlin et C #
[Java] Récupère le fichier dans le fichier jar quel que soit l'environnement
Classes et instances Java comprises dans la figure
J'ai résumé les types et les bases des exceptions Java
Modifier la qualité de stockage des images JPEG en Java
Utilisation correcte de la classe abstraite et de l'interface en Java
Résumé de la mise en œuvre des arguments par défaut en Java
J'ai essayé d'implémenter la méthode de division mutuelle d'Eugrid en Java
Récapitulez les éléments supplémentaires de la classe Optional dans Java 9
[Android] Accrochez le robinet du lien d'ancrage dans WebViewClient
Un programme (Java) qui génère la somme des nombres pairs et impairs dans un tableau
Crier Java au cœur des technologies-Thèmes et technologies élémentaires que les ingénieurs Java devraient poursuivre en 2017-