2015-11-16 2 views
0

В настоящее время я использую CastCompanionLibrary в своем проекте. Он работает хорошо, однако мне нужно настроить поведение кнопки Cast.Как создать произвольный листинг MediaRouter Dialog

В настоящее время отображается диалоговая кнопка, содержащая литые устройства (что является ожидаемым поведением). Кроме того, при кастинге отображаются метаданные и кнопка остановки/запуска. Мне нужно настроить это. Я не хочу показывать кнопки остановки/запуска. Как я могу это достичь?

Вот соответствующие части моего кода:

<item 
    android:id="@+id/media_route_menu_item" 
    android:title="Google Cast" 
    compat:actionProviderClass="android.support.v7.app.MediaRouteActionProvider" 
    compat:showAsAction="always"/> 

и

if (mCastManager != null) { 
    mediaRouteMenuItem = mCastManager.addMediaRouterButton(menu, R.id.media_route_menu_item); 
} 
+0

Непонятно, что вы просите, уточните: (а) вы хотите настроить оба диалоговых окна (когда вы не выполняете кастинг и когда вы выполняете кастинг) или только диалоговое окно, которое вы получаете, когда выполняете кастинг? (b) Когда вы сказали, что хотите настроить область, которая показывает метаданные, и добавляет кнопку воспроизведения/паузы/остановки, пожалуйста, уточните, какой тип настройки вы ищете, поскольку в зависимости от вашего ответа могут быть сделаны различные рекомендации , –

+0

Я хочу настроить диалог при кастинге. Я хочу показать пользователю параметры: локальное устройство и устройство для литья, чтобы s (he) мог переключаться между ними. Не нужно играть/останавливать кнопки. Благодарю. – burakk

ответ

0

У вас есть несколько вариантов. Во-первых, вы должны заметить, что когда вы выполняете кастинг, вы можете создать свое приложение таким образом, чтобы действие остановки в то время приводило к локальному воспроизведению, поэтому достаточно нажать кнопку «остановить кастинг». Если вам хорошо скрыть область содержимого существующего диалога, предоставленного CCL, вы можете скопировать файл макета «custom_media_route_controller_controls_dialog.xml» в свой собственный проект и просто скрыть нужную область (не удалять какие-либо компоненты но оберните область содержимого в простой макет и скройте этот макет). Если вы предпочитаете иметь свой собственный, следуйте тому, что делает CCL; расширьте MediaRouteDialogFactory, переопределив onCreateControllerDialogFragment() и определите собственное расширение MediaRouteControllerDialog (см. пакет com.google.android.libraries.cast.companionlibrary.cast.dialog.video в CCL) и, наконец, расширяет VideoCastManager и переопределяет getMediaRouteDialogFactory() там вернуть свою фабрику.

+0

.. можем ли мы это сделать с помощью Cast v3? –