2017-07-12 1 views
0

J'ai ajouté l'affichage de la recherche à la barre d'action et l'ai toujours ouvert en mode étendu. Ça prend toujours une marge de droite, je ne sais pas pourquoi. J'ai essayé beaucoup de solutions mais toujours pas de succès. S'il vous plaît aidez-moi à résoudre ce problème.La vue de recherche sur la barre d'action ne se développe pas complètement dans Android

Voici le code de menu

<?xml version="1.0" encoding="utf-8"?> 
    <menu 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" 
     tools:context="com.don.offers.activities.FunHandlerSearchActivity" 
     > 
     <item 
      android:id="@+id/action_search" 
      android:icon="@drawable/ic_magnify_grey600_24dp" 
      app:showAsAction="collapseActionView|never" 
      android:title="@string/search_title" 
      app:actionViewClass="android.support.v7.widget.SearchView" 
      android:imeOptions="actionSearch" 
      /> 

    </menu> 

code interrogeable

<?xml version="1.0" encoding="utf-8"?> 

    <searchable 
     xmlns:android="http://schemas.android.com/apk/res/android" 
     android:label="@string/app_name" 
     android:hint="@string/search_for_friend" 
     android:imeOptions="actionSearch"> 
    </searchable> 

Code d'activité

@Override 
public boolean onCreateOptionsMenu(Menu menu) { 
    MenuInflater inflater = getMenuInflater(); 
    inflater.inflate(R.menu.fun_handler_search_menu, menu); 
    // Associate searchable configuration with the SearchView 
    SearchManager searchManager = 
      (SearchManager) getSystemService(Context.SEARCH_SERVICE); 
    SearchView searchView = 
      (SearchView) menu.findItem(R.id.action_search).getActionView(); 

    MenuItem searchMenuItem = menu.findItem(R.id.action_search); 
    searchMenuItem.expandActionView(); 

    searchView.setSearchableInfo(
      searchManager.getSearchableInfo(getComponentName())); 

    searchView.setSubmitButtonEnabled(true); 
    searchView.setOnQueryTextListener(this); 

    try { 
     ((EditText) searchView.findViewById(android.support.v7.appcompat.R.id.search_src_text)).setHintTextColor(getResources().getColor(R.color.action_bar_grey_color)); 
     ((EditText) searchView.findViewById(android.support.v7.appcompat.R.id.search_src_text)).setTextColor(getResources().getColor(R.color.action_bar_text_grey_color)); 

    } catch (Resources.NotFoundException e) { 
     e.printStackTrace(); 
    } 

    try { 
     ImageView searchClose = (ImageView) searchView.findViewById(android.support.v7.appcompat.R.id.search_close_btn); 
     searchClose.setImageResource(R.drawable.ic_clear_24dp); 
    } catch (Exception e) { 
     e.printStackTrace(); 
    } 

    MenuItemCompat.setOnActionExpandListener(searchMenuItem, new MenuItemCompat.OnActionExpandListener() { 
     @Override 
     public boolean onMenuItemActionExpand(MenuItem item) { 
      return true; 
     } 

     @Override 
     public boolean onMenuItemActionCollapse(MenuItem item) { 
      finish(); 
      overridePendingTransition(R.anim.slide_right_in, R.anim.slide_right_out); 
      return true; 
     } 
    }); 
    return true; 
} 

enter image description here

Répondre

1

Essayez ceci:

Commenter cette ligne comme ci-dessous:

+0

déjà ajouté. Voir le code dans onCreateOptionsMenu. –

+1

@SapnaSharma j'ai dit commentaire de ne pas ajouter –

+0

Donc désolé. Laisse-moi essayer. –