ImageViewとVideoViewをRelativeLayoutに配置しました。 ImageViewは、_scaleType="fitXY"
_によってレイアウト全体を埋めるように拡大縮小できます。ただし、VideoViewに同様のスケール属性はありません。ちなみに、set setMediaController(null)
でビデオコントロールを非表示にすると、ビデオコンテンツのみが表示されます。アスペクト比を維持せずにVideoViewをスケーリングすることは可能ですか?これがレイアウトの例です。
_<RelativeLayout
Android:layout_width="280dp"
Android:layout_height="200dp">
<ImageView
Android:layout_width="fill_parent"
Android:layout_height="fill_parent"
Android:id="@+id/image"
Android:scaleType="fitXY" />
<VideoView
Android:layout_width="fill_parent"
Android:layout_height="fill_parent"
Android:id="@+id/video"
Android:visibility="invisible"
Android:layout_centerInParent="true" />
</RelativeLayout>
_
VideoView
をRelativeLayout
内に配置し、プロパティの下に設定して、ビデオを全画面表示します。
<VideoView
Android:layout_width="match_parent"
Android:layout_height="match_parent"
Android:id="@+id/video"
Android:visibility="invisible"
Android:layout_alignParentBottom="true"
Android:layout_alignParentLeft="true"
Android:layout_alignParentRight="true"
Android:layout_alignParentTop="true"/>
注:要件に基づいて可視性の値を設定してください。
私の方法はonMeasureメソッドVideoViewをオーバーライドすることです
@Override
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
setMeasuredDimension(getDefaultSize(getSuggestedMinimumWidth(), widthMeasureSpec),
getDefaultSize(getSuggestedMinimumHeight(), heightMeasureSpec));
}