Подтвердить что ты не робот

Android:: VideoView внутри ScrollView

У меня есть VideoView, который находится внутри scrollView. Когда я просматриваю scrollView, VideoView не прокручивает его. Это похоже на то, что его положение фиксировано. Как правильно прокрутить VideoView с помощью прокрутки всех остальных элементов в scrollView?

4b9b3361

Ответ 1

Дисплей обычно делится на два конвейера

  • Конвейер буфера кадров. Здесь отображается вся ваша графика. Все элементы отображения пользовательского интерфейса входят в эту строку.
  • Конвейер видеобумаги - это то, где ваши видеоданные перенаправляются.

Теперь, когда вы объявляете поверхностное представление, вы занимаете некоторое пространство на экране в пользовательском интерфейсе, говоря, что здесь отображается видео. Таким образом, все другие элементы пользовательского интерфейса не смогут занять это пространство.

Когда прокрутка происходит, ваш поверхностный вид действительно будет перемещен вверх или вниз в зависимости от события прокрутки, но проблема в конвейере видеобумажа не волнует, что происходит в конвейере буфера кадра, который он продолжает заполнять видеоданные в пространстве в котором он был инициализирован с помощью.

Итак, теперь вы не можете прокручивать видео в android..

Ответ 2

Ромен Гай сказал в этой проблеме Android:

Это известное ограничение VideoView. Вместо этого вы должны использовать TextureView в Android 4.0 и выше.

Ответ 3

Вы можете поместить видеоизображение внутри макета с пустым представлением над ним.

    <RelativeLayout
        android:id="@+id/lay_live_video"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:visibility="visible" >

        <VideoView
            android:id="@+id/videoview"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_centerHorizontal="true"
            android:layout_centerVertical="true" />

        <View
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:background="@android:color/transparent" />
    </RelativeLayout>

Этот код может находиться внутри вашего scrollview.

Извините за мой английский, я учусь;)