2017-04-05 70 views
0

我創建android系統中的工具欄,但每當搜索查看,我提到collapseActionView財產一樣menu.xml文件的項目裏面: -爲什麼Searchview搜索圖標不顯示collapseActionView屬性?

<item android:id="@+id/search" 
    android:title="@string/search_title" 
    app:showAsAction="always|collapseActionView" 
    app:actionLayout="@layout/search_view_layout"/> 

這裏search_view_layout.xml作爲波紋管: -

<?xml version="1.0" encoding="utf-8"?> 
<android.support.v7.widget.SearchView xmlns:android="http://schemas.android.com/apk/res/android" 
android:layout_width="match_parent" 
android:layout_height="35dp"/> 

在這種情況下,我搜索查看正在爲波紋管圖像: -

enter image description here

在上面的圖片搜索圖標不會出現。當我點擊這個搜索標題搜索查看打開爲: -

enter image description here

我不明白,爲什麼不能隱藏卡丁車菜單項,而不是從style.xml導入任何樣式屬性: -

<style name="SearchViewStyle" parent="Widget.AppCompat.SearchView"> 
    <item name="queryBackground">@color/white</item> 
    <item name="searchIcon">@drawable/search</item> 
    <item name="goIcon">@drawable/ic_search</item> 
    <item name="android:textColor">@color/black</item> 
    <item name="android:layout_height">35dp</item> 
    <item name="android:height">35dp</item> 

但我想設計搜索查看波紋管: -

Desired Searview for App

任何建議都會非常可觀。

回答

0

在你的菜單中添加

<item 
    android:id="@+id/search" 
    android:icon="@drawable/ic_search" 
    android:title="@string/search" 
    yourapp:showAsAction="ifRoom|collapseActionView" 
    yourapp:actionViewClass="android.support.v7.widget.SearchView" 
    /> 

在Java類

SearchManager searchManager = (SearchManager) context.getSystemService(Context.SEARCH_SERVICE); 
    SearchView searchView = (SearchView) menu.findItem(R.id.search).getActionView(); 

    searchView.setSearchableInfo(searchManager.getSearchableInfo(((AppCompatActivity) context).getComponentName())); 
    searchView.setIconifiedByDefault(false); 
    searchView.setOnQueryTextListener(this); 

應用樣式,在您的style.xml添加此

<style name="MyToolbar" parent="AppTheme"> 
    <item name="searchViewStyle">@style/searchStyle</item> 
    </style> 

<style name="searchStyle" parent="Widget.AppCompat.SearchView.ActionBar"> 
    <item name="queryHint">@string/search</item> 
    <item name="searchIcon">@null</item> 
    <item name="colorControlActivated">@color/accent</item> 
    <item name="colorControlNormal">@color/accent</item> 
</style> 

最後應用上述主題在您的工具欄中

<android.support.v7.widget.Toolbar 
      android:id="@+id/my_toolbar" 
      android:layout_width="match_parent" 
      android:minHeight="?attr/actionBarSize" 
      android:theme="@style/MyToolbar" 
      android:layout_height="?attr/actionBarSize" 
      app:layout_collapseMode="pin" 
      > 
     </android.support.v7.widget.Toolbar> 
+0

感謝您的幫助,但它顯示正常的searchview。我已經實現了這一點。我想創建像附加圖像的seachview.Please通過我的searchview風格。 –

相關問題