如何在 Light Appcompat 主题中使用深色主题中的 SearchView
How to use SearchView from dark theme in Light Appcompat 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 作为基本主题也不会显示白色文本和图标..
可以通过覆盖所有值来完成,但我只需要使用深色主题中提供的默认值即可..
根据 this pro-tip,Theme.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
将提取在深色背景下工作所需的正确资源。
我正在使用 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 作为基本主题也不会显示白色文本和图标..
可以通过覆盖所有值来完成,但我只需要使用深色主题中提供的默认值即可..
根据 this pro-tip,Theme.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
将提取在深色背景下工作所需的正确资源。