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

时间:2015-07-07 17:55:57

标签: 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> 

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

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

1 个答案:

答案 0 :(得分:16)

this pro-tipTheme.AppCompat.Light.DarkActionBar仅适用于您使用AppCompat提供的操作栏。如果您使用的是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"/>
然后

SearchView会提取在黑暗背景下工作所需的正确资源。