Android VideoView如何缩放为ImageView缩放类型fitXY?

时间:2014-11-28 03:47:12

标签: android scale android-videoview

我将一个ImageView和一个VideoView放在RelativeLayout中。 可以缩放ImageView以通过scaleType="fitXY"填充整个布局。但是,VideoView没有类似的缩放属性。顺便说一句,我通过设置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>

2 个答案:

答案 0 :(得分:29)

尝试将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"/>

注意:请根据您的要求设置可见性值。

答案 1 :(得分:2)

我的方法是覆盖 VideoView onMeasure 方法

@Override
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
    setMeasuredDimension(getDefaultSize(getSuggestedMinimumWidth(), widthMeasureSpec),
            getDefaultSize(getSuggestedMinimumHeight(), heightMeasureSpec));
}