2015-12-29 3 views
0

У меня есть рамка, которая имеет изображение и видео, а видеоизображение находится на верхней части изображения.Изменение размера видеоизображения для Android в рамке

<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> 

Они такого же размера, поэтому мой видеоизображение охватывает мое изображение, но я не хочу этого. Как уменьшить размер видеоизображения до 50% (50% от ширины и высоты)? Я пробовал много способов, но никто не работал, большинство уменьшит размер до отношения, я хочу, чтобы он отлично уменьшался, например, если оригинал 500dp, это будет 250dp.

+0

50% первоначальной высоты и ширины или 50% от фреймовки? – g90

+0

50% оригинала – user3549071

ответ

1

На основе theseanswers вы должны расширить класс VideoView в пользовательском классе, а в методе onMeasure внести изменения.

С точки зрения кода это будет выглядеть так:

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

setMeasuredDimension(width, height); 
} 

Позвольте мне знать, если вам нужна дополнительная помощь в этом.