Android在framelayout中更改视频大小

时间:2015-12-29 21:28:22

标签: android imageview android-videoview android-framelayout

我有一个framelayout,它有一个imageview和videoview,而videoview位于imageview的顶部。

<FrameLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_alignParentTop="true"
    android:layout_above="@+id/linearLayout"
    android:layout_centerHorizontal="true">

    <ImageView
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:id="@+id/imgFrameId"
        android:background="@android:drawable/sym_def_app_icon"
        android:layout_centerHorizontal="true" />

    <VideoView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/vidFrameId"/>

</FrameLayout>

它们的大小相同所以我的视频视图涵盖了我的imageview,但我不希望这样。如何将视频视图的大小减少到50%(宽度和高度的50%)?我尝试了很多方法,但都没有用,大多数会将大小缩小到一个比例,我希望它完全减少,就像原来是500dp一样,它会是250dp。

1 个答案:

答案 0 :(得分:1)

基于these answers,您应该在自定义类中扩展VideoView类,并在onMeasure方法中进行更改。

就代码而言,这将如下所示:

 @Override
 protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
 int width = widthMeasureSpec/2 ;
 int height = heightMeasureSpec/2 ;

 setMeasuredDimension(width, height);
 }

如果您需要更多帮助,请与我们联系。