如何在Light Appcompat主题中使用来自黑暗主题的SearchView

Awe*_*ome 12 android android-appcompat android-theme

我正在使用Theme.AppCompat.Light主题并使用SearchView,它默认显示深色文本和图标.

如何在这个光主题中使用Theme.AppCompat中定义的SearchView?

已经尝试过以下但没有工作?

<style name="Theme.App.Light" parent="Theme.AppCompat.Light">
   <item name="searchViewStyle">@style/Widget.AppCompat.SearchView</item>
</style> 
Run Code Online (Sandbox Code Playgroud)

即使使用Theme.AppCompat.Light.DarkActionBar作为基本主题也不会显示白色文本和图标..

它可以通过覆盖所有值来完成,但我只需要使用Dark主题中提供的默认值.

ian*_*ake 16

根据此专业提示,Theme.AppCompat.Light.DarkActionBar仅适用于您使用AppCompat提供的操作栏.如果您使用的是a Toolbar,那么您应该使用Theme.AppCompat.Light.NoActionBar主题.要为适合深色背景的工具栏添加主题,您需要添加android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar":

<android.support.v7.widget.Toolbar
    android:background="?attr/colorPrimary"
    android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"/>
Run Code Online (Sandbox Code Playgroud)

SearchView 然后将提取在黑暗背景下工作所需的正确资源.