[RESOLVIDO] VideoView - Portrait

Pessoal,

Descobri agora que o VideoView da um resize em seu vídeo para ser exibido em WIDESCREEN (Landscape).
Alguém sabe como tirar essa função?

Meu vídeo tem tamanho 800x480, mas ele transforma o meu vídeo para 480x320, ou seja, troca a altura pela largura do aparelho e da um resize na largura.

Eu li algo sobre o método onMeasure(), mas alguém tem alguma idéia ou já passou por isso?

Abraço

Resolvido, era no método onMeasure mesmo! :slight_smile:

Por padrão, o VideoView dimensiona o vídeo para ser reproduzido em widescreen.
Basta você criar seu próprio componente que herde de VideoView e reescrever o método onMesure().

public class MyVideoView extends VideoView {
	private int mForceHeight = 0;
    private int mForceWidth = 0;
	
	public MyVideoView(Context context) {
		super(context);
	}

	public MyVideoView(Context context, AttributeSet attrs) {
        this(context, attrs, 0);
    }

    public MyVideoView(Context context, AttributeSet attrs, int defStyle) {
        super(context, attrs, defStyle);
    }
	
    public void setDimensions(int w, int h) {
        this.mForceHeight = h;
        this.mForceWidth = w;
    }
    
    @Override
    protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
        setMeasuredDimension(mForceWidth, mForceHeight);
    }
    
    @Override
    public boolean onTouchEvent(MotionEvent ev) {
    	return false;
    }
    
}

Abraço :slight_smile: