Android: permet de cliquer sur une barre de recherche complète

J'utilise un élément de recherche dans mon fragment pour implémenter une fonction de recherche.

<SearchView android:id="@+id/search_bar" android:layout_width="match_parent" android:layout_height="match_parent" android:layout_marginTop="7dp" android:layout_marginLeft="7dp" android:layout_marginRight="7dp" android:layout_marginBottom="7dp" android:background="@color/white" /> 

Entrez la description de l'image ici

  • Comment fermer ACTION_USAGE_ACCESS_SETTINGS intention lorsque l'utilisateur clique sur la cible cible correcte?
  • Comment une interface peut-elle être utilisée pour différentes tâches Android d'arrière-plan?
  • Didacticiel / guide Android NDK pour les débutants.
  • Vue étendue de la liste Android, set drawables personnalisés
  • Comment ouvrir une boîte de dialogue à partir d'une entrée de texte sur PreferenceScreen?
  • Comment verrouiller l'orientation de l'écran pour le téléphone, mais pas pour la tablette? (Android)
  • Le problème est que l'icône de recherche est cliquable. D'autres zones de la barre de recherche ne sont pas cliquables, lorsque je clique sur l'icône, je ne peux que chercher.

    Entrez la description de l'image ici

    Pouvez-vous m'aider à faire clic sur la zone de recherche entière.

    Entrez la description de l'image ici

  • Android Secure Storage
  • Chargez de grandes images avec Picasso et un objet de transformation personnalisé
  • Quelles conditions provoquent le code SQLiteDiskIOException 3850
  • Drawable => niveaux de gris
  • Comment obtenir le cadre du fichier vidéo dans Android
  • Comment définir l'orientation verticale de l'affichage Android?
  • 5 Solutions collect form web for “Android: permet de cliquer sur une barre de recherche complète”

    Quel est le moyen cliquable? Déclencher une action de recherche ou simplement mettre la zone d'édition enfoncée? Si c'est le premier, vous pouvez simplement faire apparaître l'icône = false. Et rendre la disposition complète cliquable et implémenter un auditeur d'événement.

     <SearchView android:id="@+id/search_bar" android:layout_width="match_parent" android:layout_height="match_parent" android:clickable="true" android:click="onClick" android:layout_marginTop="7dp" android:layout_marginLeft="7dp" android:layout_marginRight="7dp" android:layout_marginBottom="7dp" android:background="@color/white" /> 

    La méthode onClick devrait être

     public void onClick(View v) { InputMethodManager im = ((InputMethodManager) getSystemService(INPUT_METHOD_SERVICE)); im.showSoftInput(editText, 0); } 

    Cela se fait simplement en définissant Iconified to false sur OnClick de SearchView.

     searchBar.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { searchBar.setIconified(false); } }); 

    Référence: réponse d'Eric Lui

    Espérons que cela aidera.

    Search_bar.setOnClickListener (new OnClickListener () {

      @Override public void onClick(View v) { search_bar.onActionViewExpanded(); } }); 

    L'astuce n'est pas tant pour que la zone entière soit cliquable autant que pour l'étendre, puis cacher le clavier.

    Tout d'abord, votre mise en page dans le XML est bien, laissez-le tel quel, dans votre Java, vous souhaitez avoir ce qui suit:

     @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main_activity); //Define your Searchview SearchView searchView = (SearchView) findViewById(R.id.search_bar); //Turn iconified to false: searchView.setIconified(false); //The above line will expand it to fit the area as well as throw up the keyboard //To remove the keyboard, but make sure you keep the expanded version: searchView.clearFocus(); } 

    Ce que cela accomplit, c'est qu'il étend le clavier sur toute la longueur de la zone, il se concentre sur celui-ci, ce qui permet à toute la zone de pouvoir être cliquable, puis il supprime le clavier de sorte qu'il semble que l'utilisateur puisse cliquer Placez un clavier et ouvrez un clavier.

    Doit accomplir ce que vous cherchez.

    -Sil

    Ajoutez ceci à votre xml android:iconifiedByDefault="false" il va continuer à ouvrir votre recherche.

    Et pour l'effacer, ajoutez clearfocus à votre objet searchview.

    coAndroid est un fan Android de Google, tout sur les téléphones Android, Android Wear, Android Dev et Android Games Apps.