使用分叉的ShowcaseView项目库的CastVideo-Android示例不能与ActionBar中的多个图标一起使用

时间:2014-08-14 20:36:19

标签: chromecast google-cast showcaseview

我正在使用CastVideos-android示例项目作为参考创建一个支持强制转换的应用程序。

CastVideos-android示例的1.2版使用this forked version of the ShowcaseView library来显示非常漂亮的叠加层以突出显示投射按钮。

这很棒并且可以帮助开发人员满足Cast Sender-App UI要求,但this forked version of the ShowcaseView library对于可能在ActionBar中使用多个图标的应用程序效果不佳。

例如,在向ActionBar添加SearchView类型项时,ShowcaseView会出现错误。

结果如下,复制此行为的步骤位于屏幕截图下方:

enter image description here

复制步骤:

  1. 在CastVideo-android项目中包含v7-appcompat作为库项目。
  2. 将CastVideo-android项目中的res / menu / main.xml更改为如下所示(向SearchBar添加SearchView类型的ActionView):

    <?xml version="1.0" encoding="utf-8"?>
    <menu xmlns:android="http://schemas.android.com/apk/res/android"
      xmlns:app="http://schemas.android.com/apk/res-auto"
      xmlns:compat="http://schemas.android.com/apk/lib/res/android.support.v7.appcompat" >
    
        <item
            android:id="@+id/media_route_menu_item"
            android:title="@string/media_route_menu_title"
            app:actionProviderClass="android.support.v7.app.MediaRouteActionProvider"
            app:showAsAction="always"/>
    
        <item
            android:id="@+id/action_settings"
            android:title="@string/action_settings"
            app:showAsAction="never"/>
    
        <item
            android:id="@+id/search"
            android:icon="@drawable/abc_ic_search"
            app:title="@string/menu_Search"
            app:actionViewClass="android.support.v7.widget.SearchView"
            app:showAsAction="collapseActionView|ifRoom"/>
    
    </menu>
    
  3. 我正在使用最新版本的v7-appcompat库。

    我怀疑罪魁祸首是ActionBarViewWrapper.getMediaRouterButtonView()方法(在com.github.amlcurran.showcaseview.targets中找到)通过反射找到MediaRouterButton,但似乎无法理解如果有多个图标如何找到MediaRouterButton ActionBar中的项目。

    非常感谢任何帮助!

1 个答案:

答案 0 :(得分:0)

forked项目已更新以处理此案例。感谢您报告此问题。一旦我听到您(或其他任何人)认为它按预期工作,我将向Alex提交拉取请求。