我一直在努力尝试主题SearchView。我的min API也是sdk 21,所以我应该可以使用新的样式选项。
具体来说,我希望当我点击搜索图标为主题时出现的应用程序栏文本字段。我想最终使背景变白,文本/光标变为蓝色或黑色。
这是我的styles.xml。最后一个主题是我正在研究的新SearchTheme。实际值并不重要,它们只是试图改变发生时的垃圾值。
<!-- Base application theme. -->
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
<!-- Customize your theme here. -->
<item name="colorPrimary">@color/colorPrimary</item>
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
<item name="colorAccent">@color/colorAccent</item>
<item name="android:windowBackground">@android:color/white</item>
<item name="android:searchViewStyle">@style/AppTheme.SearchTheme</item>
</style>
<style name="AppTheme.NoActionBar">
<item name="windowActionBar">false</item>
<item name="windowNoTitle">true</item>
</style>
<style name="AppTheme.PreferencesTheme" parent="AppTheme">
<item name="android:windowBackground">@android:color/white</item>
</style>
<style name="AppTheme.AppBarOverlay" parent="ThemeOverlay.AppCompat.Dark.ActionBar">
<item name="android:windowBackground">@android:color/white</item>
<item name="android:searchViewStyle">@style/AppTheme.SearchTheme</item>
</style>
<style name="AppTheme.PopupOverlay" parent="ThemeOverlay.AppCompat.Light">
<item name="android:windowBackground">@android:color/white</item>
<item name="android:searchViewStyle">@style/AppTheme.SearchTheme</item>
</style>
<style name="AppTheme.SearchTheme" parent="Theme.AppCompat.Light">
<item name="android:closeIcon">@drawable/contacts5icon</item>
<item name="android:voiceIcon">@drawable/contacts5icon</item>
<item name="android:queryBackground">@android:color/black</item>
<item name="android:windowBackground">@android:color/white</item>
</style>
我已将AppTheme.SearchTheme分配给我在布局中使用的其他主题。但我所做的一切似乎都没有任何效果。这些值似乎没有改变。
在这里帮助我。我以前没有真正搞过Android主题,所以我有点迷茫。感谢。
答案 0 :(得分:0)
这可以帮助你走上正确的轨道,根据Chris Banes&#39;在棒棒糖预制机器人上使用材料设计的步骤。简而言之:在主样式下使用Widget.AppCompat.SearchView样式扩展名设置项目属性searchViewStyle。
您可以使用queryBackground项属性来更改文本字段的背景。其他属性详述如下。
<style name=”Theme.MyTheme” parent=”Theme.AppCompat”>
<item name=”searchViewStyle”>@style/MySearchViewStyle</item>
</style>
<style name=”MySearchViewStyle” parent=”Widget.AppCompat.SearchView”>
<!-- Background for the search query section (e.g. EditText) -->
<item name="queryBackground">...</item>
<!-- Background for the actions section (e.g. voice, submit) -->
<item name="submitBackground">...</item>
<!-- Close button icon -->
<item name="closeIcon">...</item>
<!-- Search button icon -->
<item name="searchIcon">...</item>
<!-- Go/commit button icon -->
<item name="goIcon">...</item>
<!-- Voice search button icon -->
<item name="voiceIcon">...</item>
<!-- Commit icon shown in the query suggestion row -->
<item name="commitIcon">...</item>
<!-- Layout for query suggestion rows -->
<item name="suggestionRowLayout">...</item>
</style>
更多here