Пропорциональное масштабирование Android VideoView

В видеообъявлениях Android есть ли способ достичь такого же эффекта, как ImageView.ScaleType.CENTER_CROP?

То есть, я хочу, чтобы мой VideoView воспроизводил видео таким образом, что он заполняет весь экран без искажений. Если соотношение сторон видео не точно соответствует экрану, то оно должно быть обрезано, а не искажено.

Следующее решение заполнит экран, но не поддерживает соотношение сторон видео: https://stackoverflow.com/a/6927300/1068656

И это решение поддерживает соотношение сторон видео, но не заполняет весь экран (видео масштабируется до тех пор, пока более длинная сторона не ударит по краю экрана, тем самым не включив бары сбоку): https://stackoverflow.com/a/4855315/1068656

Solutions Collecting From Web of "Пропорциональное масштабирование Android VideoView"

Хотя уже слишком поздно, но это может помочь кому-то еще искать ту же проблему. Следующий ответ поддерживает соотношение сторон (videoProportion). Дополнительная часть видеоизображения обрезается по телефону.

private void setDimension() { // Adjust the size of the video // so it fits on the screen float videoProportion = getVideoProportion(); int screenWidth = getResources().getDisplayMetrics().widthPixels; int screenHeight = getResources().getDisplayMetrics().heightPixels; float screenProportion = (float) screenHeight / (float) screenWidth; android.view.ViewGroup.LayoutParams lp = videoView.getLayoutParams(); if (videoProportion < screenProportion) { lp.height= screenHeight; lp.width = (int) ((float) screenHeight / videoProportion); } else { lp.width = screenWidth; lp.height = (int) ((float) screenWidth * videoProportion); } videoView.setLayoutParams(lp); } // This method gets the proportion of the video that you want to display. // I already know this ratio since my video is hardcoded, you can get the // height and width of your video and appropriately generate the proportion // as :height/width private float getVideoProportion(){ return 1.5f; }