2013-03-15 3 views
10

Как заголовок говорит: можно ли отключить полный экран с помощью API Youtube в Android?Можно ли отключить полный экран для youtube api в android?

У меня есть приложение с фрагментами и внутри этих фрагментов. У меня есть макет рамки, в который я добавляю YouTubePlayerSupportFragment. Но когда я нажимаю на весь экран, то это исключение:

java.lang.RuntimeException: Невозможно запустить активность ComponentInfo {com.example.xxx/com.example.xxx.MainActivity}: java.lang.IllegalArgumentException : нет вид не найдено для ид 0x7f040039 (com.example.xxx:id/frame_youtube) для фрагмента YouTubePlayerSupportFragment {4282a068 # 11 ID = 0x7f040039}

ответ

16

Я сталкивался с такой же вопрос и нашел способ справиться с этим, который работал на меня. В OnInitializedListener() для фрагмента, я делаю это:

@Override 
public void onInitializationSuccess(Provider arg0, 
final YouTubePlayer player, boolean arg2) { 
//Tell the player you want to control the fullscreen change 
player.setFullscreenControlFlags(YouTubePlayer.FULLSCREEN_FLAG_CUSTOM_LAYOUT); 
//Tell the player how to control the change 
player.setOnFullscreenListener(new OnFullscreenListener(){ 
@Override 
public void onFullscreen(boolean arg0) {      
// do full screen stuff here, or don't. I started a YouTubeStandalonePlayer 
// to go to full screen 
}}); 

}}); 

И я до сих пор получил сообщение об ошибке, так как я использовал YouTubeStandalonePlayer обрабатывать мой полный экран, так что я решил, что по телефону

finish(); 

в моем OnPause() за активность. Просто помните, что вы не вернетесь туда, где вы остановились, если ваш пользователь нажимает кнопку «Назад». Вы также можете отправить пользователя в приложение YouTube с намерением, это не требовало finish() в OnPause, когда я его протестировал, но не соответствовал моим потребностям, а также автономному игроку.

Edit: Если вы хотите удалить кнопку полноэкранного, вы также можете просто установить стиль игрока, как это:

PlayerStyle style = PlayerStyle.MINIMAL; 
player.setPlayerStyle(style); 
29

Или вы можете просто отключить его на 1 строку:

player.setShowFullscreenButton(false); 
+0

Это то, что я искал. Если вы хотите просто заблокировать видео в полноэкранном режиме, но сохраните все остальные элементы управления, это то, что вы хотите. Также кажется менее взломанным. –

+0

Лучший ответ. Спасибо. – John

+0

вот что я искал – Yogamurthy

Смежные вопросы