Я разрабатываю приложение для планшетов, которое одновременно использует два фрагмента на экране. Правый фрагмент содержит WebView, который должен быть способен воспроизводить видео, но кажется, что уменьшенный размер его родительского элемента препятствует правильному воспроизведению некоторых видео.
РЕДАКТИРОВАТЬ Я упростил свой пример, чтобы исключить фрагменты и разбить проблему до ее основ:
Main:
public class TesterProjectActivity extends Activity {
WebView webView;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
this.webView = (WebView) findViewById(R.id.webieView);
WebSettings webSettings = webView.getSettings();
webSettings.setPluginsEnabled(true);
webSettings.setPluginState(PluginState.ON);
webSettings.setJavaScriptEnabled(true);
webView.setWebChromeClient(new WebChromeClient());
webView.loadUrl("http://www.youtube.com/watch?v=OSxSyv4LC1c");
}
@Override
public void onPause() {
super.onPause();
webView.loadUrl("about:blank");
}
Основной макет:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/right"
android:layout_width="fill_parent"
android:layout_height="fill_parent" >
<WebView
android:id="@+id/webieView"
android:layout_marginLeft="400dp"
android:layout_width="800dp"
android:layout_height="fill_parent"
/>
</LinearLayout>
Сначала я подумал, что что-то не так с моим периодом воспроизведения видео, но после просмотра всех возможностей (в манифесте установлено аппаратное ускорение), я обнаружил, что видео воспроизводится, когда фрагмент, содержащий веб-просмотр, сделан немного больше.
Обратите внимание, что когда WebView становится больше, видео воспроизводится, но часть видео отключается без причины.
Кто-нибудь знает, почему это происходит? Как получить правильное воспроизведение видео в WebView, фрагмент которого находится только на половине экрана?
Я пока не могу опубликовать изображения на этом сайте (и ограничен только двумя ссылками), но вот несколько ссылок на скриншоты моей проблемы:
Воспроизведение видео:
http://imageshack.us/photo/my-images/515/device20120323001322.png/
Также обратите внимание, что я безуспешно пытался использовать WebViewFragment.
РЕДАКТИРОВАТЬ Я определил, что видео воспроизводится, но оно воспроизводится так, как будто его холст рисуется из верхнего левого угла. Независимо от того, где находится webView, независимо от того, где видео находится в WebView, холст видео только влечет за собой то, где видео будет воспроизводиться, если оно воспроизводилось в верхнем левом углу. Я обновил свои скриншоты выше, чтобы продемонстрировать этот факт.