私はビデオビューを埋めるためにビデオを引き伸ばそうとします。ターゲットは、デバイスで最初の写真のように見える(レイアウトプレビューで見えるように)ビューを作成することです。
この質問に対する回答のほとんどは、 このリンク に関するものです。
私はこれを試しましたが、それでもビデオ表示を埋めませんでした。
これは私のレイアウトコードです:
<?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>
ここに私の宣言したレイアウトのプレビューがあります:
ただし、デバイスでの結果は異なります。
外部レイアウトを相対レイアウトにして、その中に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>
別の solution が見つかりました。カスタムVideoView
は必要ありません
ビデオビューは相対レイアウトの内側にある必要があります。以下に例を示します。私の場合、フルスクリーンボタンで非常にうまく機能します。
<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>