因此,我修改了中介外部源,使其依赖于ActionBarSherlock而不是AppCompat。但是,现在没有调用来自MediaRouteAdapter onDeviceAvailable(...)的回调。
有什么办法让这件事起作用吗?
我不想让“投”按钮总是可见的。相反,我希望使用onDeviceAvailable(..)只在设备可用时使其可见。
发布于 2013-10-22 21:33:08
我发现了一个如何解决这个问题的黑客。
如果使用appcompat,根据onDeviceAvailable(...)的实现,只有在网络中有chromecast设备时才能看到强制转换图标。
但是,如果使用ABS,则在网络上可用chromecast设备时不会调用onDeviceAvailable(...)方法。因此,为了看到cast图标,我们必须将其设置为始终可见的。
因此,问题是强制转换图标总是可见的(当您将可见性设置为可见时或将其添加到操作栏时)。
然而,:MediaRouter有不同的视图状态。一个用于转换设备可用,另一个用于当没有可用设备时。
中介外部库由可绘制的pngs组成,这些pngs是设备可用或不可用时的图标。
只需用空白资源或任何适合应用程序的资源替换“没有可用路径”的应用程序即可。
当设备可用时,将显示正确的强制转换图标,如果不可用,则显示自定义资源(如果资源为空白视图,则为空白)。
以下是有关如何获取中介外部源代码以及如何修复此代码的详细信息:http://www.droidorbit.com/2013/10/mediarouter-and-actionbarsherlock.html
https://stackoverflow.com/questions/19519980
复制相似问题