为 Android TV 应用程序更改 BrowseFragment 的 SearchView 默认图标?
Posted
技术标签:
【中文标题】为 Android TV 应用程序更改 BrowseFragment 的 SearchView 默认图标?【英文标题】:Change SearchView default icon for BrowseFragment for Android TV applications? 【发布时间】:2016-01-15 08:43:57 【问题描述】:对于 Leanback BrowseFragment
,默认情况下,屏幕左侧有一个搜索视图。是否可以更改 SearchOrbView
的默认图标或隐藏它。
https://cdn-images-1.medium.com/max/800/1*oIFbcdjYrIqxU55-B23tjA.gif
【问题讨论】:
【参考方案1】:如developer.android.com 上的文档所述,如果您不调用setOnSearchClickedListener
,搜索球将不可见:
public void setOnSearchClickedListener(View.OnClickListener 监听器)
为搜索功能设置点击监听器。
侦听器的存在将改变搜索的可见性 片段标题中的启示。当设置为非空时,标题将 包含用户可以单击以开始搜索的元素。
如果您想更改 SearchOrbView
的图标,您可以编辑您的样式:
<style name="Theme.Example.Leanback" parent="Theme.Leanback">
<item name="searchOrbViewStyle">@style/CustomSearchOrbView</item>
</style>
<style name="CustomSearchOrbView" parent="Widget.Leanback.SearchOrbViewStyle">
<item name="searchOrbIcon">@drawable/your_search_orb_icon</item>
</style>
【讨论】:
【参考方案2】:如果你想改变图标然后在你的styles.xml中
<style name="NewSeachTheme" parent="Theme.Leanback">
<item name="searchOrbViewStyle">@style/CustomSearchOrbView</item>
<item name="defaultSearchColor">@color/transparent</item>
</style>
<style name="CustomSearchOrbView" parent="Widget.Leanback.SearchOrbViewStyle">
<item name="searchOrbIcon">add your drawable here</item>
<item name="searchOrbIconColor">@color/transparent</item>
</style>
这里的 searchOrbIconColor 是透明的,因为如果您的图标很小,那么默认图标颜色将显示在您使用的搜索图标后面。 然后将新样式“NewSeachTheme”添加到清单中的主题。 快乐编码:)
【讨论】:
以上是关于为 Android TV 应用程序更改 BrowseFragment 的 SearchView 默认图标?的主要内容,如果未能解决你的问题,请参考以下文章