2016-01-22 45 views
1

我想查看SearchView后面的后退箭头。 http://i.imgur.com/Xetu0L1.png XML:Android AppBar SearchView占用全部空间而没有后退箭头

<item android:id="@+id/search" 
     android:title="@string/search_btn_hint" 
     android:icon="@drawable/ic_action_search" 
     android:titleCondensed="@string/search_btn_hint" 
     app:actionViewClass="android.support.v7.widget.SearchView" 
     app:showAsAction="always" /> 

我试图用 “collapseActionView | ifRoom”,但它并没有将焦点放到了搜索查看。我的Java代码,将焦点:

getMenuInflater().inflate(R.menu.search, menu); 
final SearchView searchView = (SearchView) menu.findItem(R.id.search).getActionView(); 
searchView.setIconifiedByDefault(false); // Do not iconify the widget; expand it by default 
searchView.setQueryHint("Search..."); 
searchView.setFocusable(true); 
searchView.setIconified(false); 
searchView.requestFocusFromTouch(); 

回答

0

只是一个工具栏添加到您的.xml布局文件(这是在我的情况下,相对布局,但是这不是一个需求可能是一个线性布局或什么的,只是什么你已经习惯了你的活动布局内使用):

<RelativeLayout 
xmlns:android="http://schemas.android.com/apk/res/android" 
xmlns:tools="http://schemas.android.com/tools" 
xmlns:app="http://schemas.android.com/apk/res-auto" 
android:layout_width="match_parent" 
android:layout_height="match_parent" 
android:background="@color/Background" 
tools:context=".YourActivity"> 
     <android.support.v7.widget.Toolbar 
      android:id="@+id/YOUR_TOOLBAR_ID_HERE" 
      android:layout_height="?attr/actionBarSize" 
      android:layout_width="match_parent" 
      android:minHeight="?attr/actionBarSize" 
      android:background="@color/Header" 
      app:popupTheme="@style/ThemeOverlay.AppCompat.Light" 
      android:textSize="20sp"> 
     </android.support.v7.widget.Toolbar> 
</RelativeLayout> 

实例化活动的布局里面的OnCreate():

setContentView(R.layout.your_activity_layout); 

,做这样的事情,实例化奠定之后出:

<item 
    android:id="@+id/action_searchable_activity" 
    android:orderInCategory="1" 
    android:icon="@drawable/ic_search_white_24dp" 
    android:title="@string/title_activity_searchable" 
    app:showAsAction="ifRoom" 
    android:iconifiedByDefault="false" 
    app:actionViewClass="android.support.v7.widget.SearchView"/> 

它为我的作品:

mToolbar = (Toolbar) findViewById(R.id.YOUR_TOOLBAR_ID_HERE); 
setSupportActionBar(mToolbar); 
getSupportActionBar().setTitle(null); 
getSupportActionBar().setHomeButtonEnabled(true); 
getSupportActionBar().setDisplayHomeAsUpEnabled(true); 

这个Java类

searchView.setIconifiedByDefault(false); 

最后,在XML搜索菜单项里添加到您的搜索查看。希望能帮助到你。

+0

我应该在哪里添加工具栏菜单或活动? –

+0

+在此先感谢 –

+0

我已更新答案。 –