7

I have a VideoView that is inside a scrollView. When I scroll the scrollView, the VideoView does not scroll with it. It is like its position is fixed. Here is my layout:

<?xml version="1.0" encoding="utf-8" ?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" android:background="#FFFFFF">
    <LinearLayout android:id="@+id/BackBar" android:orientation="vertical" android:layout_width="fill_parent" android:paddingTop="2dp" android:layout_height="wrap_content" android:background="#D6DEAA">
        <Button android:id="@+id/BackButton" android:layout_gravity="left" android:text="@string/BackButtonText" android:layout_width="wrap_content" android:layout_height="wrap_content" /> 
    </LinearLayout>
    <ScrollView android:id="@+id/scroll1" android:layout_height="fill_parent" android:layout_width="fill_parent">
        <LinearLayout android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" android:background="#FFFFFF">
            <LinearLayout android:id="@+id/contentVideo" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="wrap_content" android:paddingLeft="30px" android:paddingTop="15px" android:background="#FFFFFF">
                <TextView android:id="@+id/learn_hiv_blck1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/learn_hiv_blck1" android:textColor="#000000" android:textStyle="italic" android:background="#FFFFFF" android:layout_gravity="left" /> 
                <TextView android:id="@+id/learn_hiv_blck2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:paddingTop="15px" android:text="@string/learn_hiv_blck2" android:textColor="#000000" android:background="#FFFFFF" android:layout_gravity="left" /> 
                <TextView android:id="@+id/learn_hiv_blck3" android:layout_width="wrap_content" android:layout_height="wrap_content" android:paddingTop="15px" android:text="@string/learn_hiv_blck3" android:textColor="#000000" android:background="#FFFFFF" android:layout_gravity="left" /> 
                <LinearLayout android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="wrap_content" android:background="#FFFFFF">
                    <VideoView android:id="@+id/VideoView" android:layout_width="283dip" android:layout_height="183dip" /> 
                </LinearLayout>
            </LinearLayout>
            <LinearLayout android:id="@+id/contentVideo" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" android:paddingLeft="30px" android:paddingTop="15px" android:paddingBottom="40dip" android:background="#FFFFFF">
                <TextView android:id="@+id/learn_hiv_blck4" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/learn_hiv_blck4" android:textColor="#000000" android:background="#FFFFFF" android:layout_gravity="left" /> 
                <VideoView android:id="@+id/VideoView1" android:layout_width="280dip" android:layout_height="190dip" android:visibility="gone" /> 
            </LinearLayout>
        </LinearLayout>
    </ScrollView>
</LinearLayout>

What is the problem in my layout?

Max Base
  • 639
  • 1
  • 7
  • 15
dev_android
  • 8,698
  • 22
  • 91
  • 148
  • 1
    I have this same problem. The Surface is creating a hole in the screen where it wants to draw, but it isn't moving with the layout. I am currently trying to find a solution, and I am becoming increasingly afraid that I'll need to do this in native code. In case one of these gets answered, here is another question on the same topic: http://stackoverflow.com/questions/4312585/androidvideoview-inside-a-scrollview – Tim Mahoney May 24 '11 at 16:56
  • VideoView inherits from SurfaceView, which changes the rules of scrolling behavior. A SurfaceView is basically a layover on top of whatever else is going on, and it seems like you're on your own as far as updates are concerned. See also this question, if it helps at all: http://stackoverflow.com/questions/1096618/android-surfaceview-scrolling – Jon O Jun 22 '11 at 03:40
  • You are aware that copy/paste of answers to multiple questions is frowned upon here, right? (http://stackoverflow.com/questions/6434646) – Ken White Jun 23 '11 at 22:57

3 Answers3

17

You could also set for your VideoView:

    android:background:"#0000"
Ovidiu Latcu
  • 71,607
  • 15
  • 76
  • 84
0

you cannot scroll videoview while playing as described here.

i had a videoview inside viewpage, when i scroll i pause the video and show image on top of it. "myby this work around can help"

Community
  • 1
  • 1
Alex
  • 1,068
  • 8
  • 23
0

Call requestLayout() for the video view. It resolved same issue for me.

Amarjit
  • 4,327
  • 2
  • 34
  • 51