2017-07-12 22 views
0

我將搜索視圖添加到操作欄並始終以擴展模式打開它。它總是從正確的邊緣我不知道爲什麼。我嘗試了很多解決方案,但仍然沒有成功請幫我解決這個問題。操作欄上的搜索視圖在Android中不完全擴展

這是菜單代碼

<?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> 

檢索代碼

<?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> 

活動代碼

@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

回答

1

試試這個:

評論這一行象下面這樣:

+0

已經添加。查看onCreateOptionsMenu中的代碼。 –

+1

@SapnaSharma我說的評論不添加 –

+0

非常抱歉。讓我嘗試。 –