Как использовать SearchView из темной темы в теме Light Appcompat

Я использую тему Theme.AppCompat.Light и использую SearchView, который по умолчанию показывает темные тексты и значки.

Как я могу использовать SearchView, определенный в Theme.AppCompat, в этой светлой теме?

Уже пробовали ниже, но не работает?

<style name="Theme.App.Light" parent="Theme.AppCompat.Light">
   <item name="searchViewStyle">@style/Widget.AppCompat.SearchView</item>
</style> 

Даже при использовании Theme.AppCompat.Light.DarkActionBar в качестве базовой темы не отображаются белые тексты и значки.

Это можно сделать, переопределив все значения, но мне просто нужно использовать значения по умолчанию, предоставленные в темной теме.


person Awesome    schedule 07.07.2015    source источник
comment
Итак, вы используете свой SearchView в панели действий по умолчанию (т. е. вы никогда не вызываете setSupportActionBar(toolbar)), но даже с Theme.AppCompat.Light.DarkActionBar SearchView отображается с темным текстом?   -  person ianhanniballake    schedule 07.07.2015
comment
setSupportActionBar используется.. Я не вижу причин, по которым это повлияет на SearchView.. да, это идет с темными текстами, но я использую setSupportActionBar..   -  person Awesome    schedule 07.07.2015


Ответы (1)


Согласно этому совету, 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 выберет правильные ресурсы, необходимые для работы на темном фоне.

person ianhanniballake    schedule 07.07.2015
comment
отлично .. Хотел бы я знать это раньше .. Потратил несколько дней на исправление других проблем, связанных с черно-белым, путем настройки почти всех аспектов .. - person Awesome; 07.07.2015
comment
что, если SearchView не является частью панели инструментов? - person user6327816; 08.06.2019
comment
@RahulKumar - вы можете напрямую применить android:theme к SearchView - person ianhanniballake; 08.06.2019
comment
@ianhanniballake спасибо за ответ. Я сделал это, побродив по разным постам :-) - person user6327816; 08.06.2019