Разтягане за запълване на VideoView, пропорция на VideoView

Опитвам се да разтегна видеоклипа, за да запълня видеоизгледа. Целта е да се създаде изглед, който в устройството да изглежда като първата снимка (както изглежда при предварителен преглед на оформлението).

Повечето от отговорите на тези въпроси се отнасят до тази връзка.

Опитах това, но все още не запълних видео изгледа.

Това е моят код за оформление:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" 
    android:background="@drawable/search_gren_screen">

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal" >

        <Button
            android:id="@+id/go_back"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:layout_gravity="center"
            android:layout_weight="1"
            android:onClick="onclick"
            android:text="Try again" />

        <Button
            android:id="@+id/back_to_pick_song"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:layout_weight="1"
            android:text="Select another song" 
            android:onClick="onclick" />

        <Button
            android:id="@+id/btn_continue"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_gravity="center"
            android:layout_weight="1"
            android:onClick="onclick"
            android:text="Amazing, continue!" />
    </LinearLayout>

    <FrameLayout 
      android:layout_width="fill_parent"
      android:layout_height="fill_parent">
    <VideoView 
        android:id="@+id/videoView1"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:layout_alignParentBottom="true"
        android:layout_alignParentLeft="true"
        android:layout_alignParentRight="true"
        android:layout_alignParentTop="true"
        android:layout_gravity="center" />
    </FrameLayout>
</LinearLayout>

Тук имате предварителен преглед на декларираното от мен оформление:

въведете описание на изображението тук

Резултатът на устройството обаче е различен:

въведете описание на изображението тук


person idan    schedule 24.04.2013    source източник
comment
Вашият код за оформление е подходящ, за да изпълни вашите нужди. Но имайте предвид, че VideoView ще се свие/разтегне по отношение на възпроизвежданото в него видео.   -  person Nirmal Raghavan    schedule 24.04.2013
comment
добре, така че трябва да променя съотношението на страните на медийния рекордер, което означава да добавя mMediaRecorder.setVideoSize(640, 480); пробвам това и работи...???   -  person idan    schedule 24.04.2013
comment
проверете този отговор stackoverflow.com/a/38971707/1153703   -  person Bikesh M    schedule 16.08.2016


Отговори (3)


Опитайте се да направите вашето външно оформление относително оформление и поставете VideoView вътре в него.

Нещо като:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
     android:id="@+id/trim_container"
     android:layout_width="match_parent"
     android:layout_height="match_parent" >

     <LinearLayout
          android:id="@+id/buttonContainer"
          android:layout_width="match_parent"
          android:layout_height="wrap_content"
          android:orientation="horizontal" >

     <Button
          android:id="@+id/go_back"
          android:layout_width="match_parent"
          android:layout_height="match_parent"
          android:layout_gravity="center"  
          android:layout_weight="1"
          android:onClick="onclick"
          android:text="Try again" />

     <Button
          android:id="@+id/back_to_pick_song"
          android:layout_width="match_parent"
          android:layout_height="match_parent"
          android:layout_weight="1"
          android:text="Select another song" 
          android:onClick="onclick" />

    <Button
          android:id="@+id/btn_continue"
          android:layout_width="match_parent"
          android:layout_height="wrap_content"
          android:layout_gravity="center"
          android:layout_weight="1"
          android:onClick="onclick"
          android:text="Amazing, continue!" />
  </LinearLayout>

  <VideoView
     android:id="@+id/VideoView"
     android:layout_width="match_parent"
     android:layout_height="match_parent"
     android:layout_alignParentLeft="true"
     android:layout_alignParentRight="true"
     android:layout_alignParentBottom="true"
     android:layout_below="@id/buttonContainer"/>
</RelativeLayout>
person Joris    schedule 24.04.2013
comment
Работи по дяволите!! Това е най-лесният начин да постигнете това нещо. Губех много време в опити да постигна това. Благодаря много!!!!!! - person KinGPinG; 07.03.2017

видео изгледът трябва да е вътре в относителното оформление. Ето един пример, даден по-долу. В моя случай работи много добре с бутон за цял екран.

<RelativeLayout
            android:layout_width="match_parent"
            android:layout_height="0dp"
            android:layout_weight="3"
            android:id="@+id/videoVIewLinId"
            android:layout_gravity="center"
            android:gravity="center"
            android:scaleType="fitXY"

            >
                <VideoView
                    android:layout_alignParentTop="true"
                    android:layout_alignParentBottom="true"
                    android:layout_alignParentLeft="true"
                    android:layout_alignParentRight="true"
                    android:layout_alignParentEnd="true"
                    android:layout_alignParentStart="true"
                    android:layout_width="fill_parent"
                    android:layout_height="fill_parent"
                    android:id="@+id/videoViewId"
                    />


                <ImageView
                    android:id="@+id/fullScreenBtnIdOnlineMedia"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:src="@drawable/ic_action_full_screen"
                    android:layout_alignParentEnd="true"
                    android:layout_alignParentBottom="true"
                    android:layout_marginEnd="10dp"

                    />

        </RelativeLayout>
person Md. Masum Billah    schedule 11.02.2020

Методът fill_parent не работи за мен.

Най-накрая използвам тази библиотека, работи страхотно!

https://github.com/dmytrodanylyk/video-crop

person Amos    schedule 17.08.2020