为Android TV应用程序更改BrowseFragment的SearchView默认图标?

时间:2015-10-16 14:37:59

标签: android android-tv leanback

对于Leanback BrowseFragment,默认情况下屏幕左侧有一个搜索视图。是一种更改SearchOrbView的默认图标或隐藏它的方法。

https://cdn-images-1.medium.com/max/800/1*oIFbcdjYrIqxU55-B23tjA.gif

2 个答案:

答案 0 :(得分:6)

正如developer.android.com上的文档所述,如果您不致电setOnSearchClickedListener,则搜索圈将不可见:

  

public void setOnSearchClickedListener (View.OnClickListener listener)

     

为搜索示例设置单击侦听器。

     

侦听器的存在将改变搜索的可见性   片段标题中的可供性。设置为非null时,标题将为   包含用户可以单击以开始搜索的元素。

如果你想改变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>

答案 1 :(得分: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”添加到清单中的主题。 快乐的编码:)