gpt4 book ai didi

Android SearchView 图标在 SearchView 样式被覆盖时消失

转载 作者:行者123 更新时间:2023-11-30 00:41:52 27 4
gpt4 key购买 nike

我的 Activity 的主要内容区域中有一个 SearchView。

我需要覆盖我的 style.xml 文件中的 SearchView 样式(这样我就可以删除 SearchView 的下划线 - as shown here)。

但是,当我重写 SearchView 样式时,它的 searchIcon 就从 UI 中消失了:

<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
<item name="searchViewStyle">@style/MySearchView</item>
<item name="android:searchViewStyle">@style/MySearchView</item>
</style>

<style name="MySearchView" parent="Widget.AppCompat.Light.SearchView">
<!-- nothing entered here yet! -->
</style>

我知道我可以为 searchIcon 指定我自己的 drawable,但我想使用默认的。

那么如何在不丢失默认 searchIcon 的情况下指定 MySearchView 样式?

更新#1

我不知道这是否正常,但我也有一个问题,如果我使用 this approach 覆盖 Button 样式,然后我的按钮失去了所有的填充,因此变得太小了:

<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
<item name="buttonStyle">@style/MyButton</item>
<item name="android:buttonStyle">@style/MyButton</item>
</style>

<style name="MyButton" parent="android:style/Widget.Button">
<item name="android:textColor">@color/white</item>
<item name="android:background">@color/red</item>
</style>

最佳答案

这里的问题似乎是使用具有用于支持类的样式的框架类。与 AppCompat 主题一起使用的正确 SearchView 类是 android.support.v7.widget.SearchView,而不是 android.widget .SearchView.

框架 View 不会寻找为支持 View 定义的属性,因此这些属性的设置将丢失。由于在 SearchView 的构造过程中找不到有效资源,因此将 null 设置为每个图标的 ImageButton 的图像,这可以解释为什么多个图标似乎都消失了用这种风格。

关于Android SearchView 图标在 SearchView 样式被覆盖时消失,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42448456/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com