У меня есть приложение для Android, которое отображает VideoView с кнопками перед ним. На целевом устройстве кнопки правильно отображаются сверху, пока VideoView не перерисовывается (например, при возврате из другого действия). Затем кнопки скрываются VideoView.
Это не происходит на двух других устройствах, и, насколько я могу судить, это не ожидаемое поведение в Android. Я считаю, что это связано с ошибкой, которую я вижу на устройстве. Тег 'TIOverlay'
и текст
'static void overlay_control_context_t::overlay_destroyOverlay( overlay_control_device_t*, overlay_t*) : Lets Switch off Alpha Blending'
Есть ли способ заставить VideoView пересчитать его альфа? Так как исходный вид корректен, я предполагаю, что он просто не учитывает полный макет при перерисовке.
Это мой код инициализации VideoView:
//set up video
this.videoView = (VideoView) findViewById(R.id.introVideoView);
videoView.setZOrderOnTop(false);
//create intro movie and begin playing
String uri = "android.resource://"+getPackageName()+"/"+R.raw.movie;
videoView.setVideoURI(Uri.parse(uri));
//set to looping
videoView.setOnPreparedListener(new OnPreparedListener(){
@Override
public void onPrepared(MediaPlayer mp)
{
mp.setLooping(true);
}});
videoView.start();
Редактировать
Макет, который я использую для отображения кнопок перед просмотром видео:
</p>
<pre><code><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:id="@+id/mainLayout" >
<VideoView
android:id="@+id/introVideoView"
android:layout_width="fill_parent"
android:layout_height="fill_parent" />
<ImageButton
android:id="@+id/exitDemoButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_alignParentRight="true"
android:contentDescription="Exit Demo >>"
android:onClick="exitDemo"
android:background="#00000000"
android:src="@drawable/exit_selector" />
<LinearLayout
android:id="@+id/buttonLayout"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:orientation="horizontal" >
<ImageButton
android:id="@+id/resumeVideoButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:onClick="onResumeClicked"
android:contentDescription="Resume Video"
android:background="#00000000"
android:src="@drawable/resume_selector" />
<ImageButton
android:id="@+id/guidedTourButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:onClick="onTourClicked"
android:contentDescription="Guided Tour"
android:background="#00000000"
android:src="@drawable/tour_selector" />
</LinearLayout>