为 SearchView 设置主题

基本上为了从 menu.xml 中提取为 app:actionViewClass 的 SearchView 应用主题,我们需要理解它完全取决于应用于底层工具栏的样式。要实现主题化工具栏,请应用以下步骤。

styles.xml 中创建一个样式

<style name="ActionBarThemeOverlay">
     <item name="android:textColorPrimary">@color/prim_color</item>
     <item name="colorControlNormal">@color/normal_color</item>
     <item name="colorControlHighlight">@color/high_color</item>
     <item name="android:textColorHint">@color/hint_color</item>
</style>

将样式应用于工具栏。

<android.support.v7.widget.Toolbar
        android:id="@+id/toolbar"
        app:theme="@style/ActionBarThemeOverlay"
        app:popupTheme="@style/ActionBarThemeOverlay"
        android:layout_width="match_parent"
        android:layout_height="?attr/actionBarSize"
        android:background="@color/colorPrimary"
        android:title="@string/title"
        tools:targetApi="m" />

这为与工具栏对应的所有视图(后退按钮,菜单图标和 SearchView)提供了所需的颜色。