diff --git a/app/src/main/java/fr/free/nrw/commons/media/MediaDetailFragment.java b/app/src/main/java/fr/free/nrw/commons/media/MediaDetailFragment.java index 0b4e37fce0..4d54e5f54e 100644 --- a/app/src/main/java/fr/free/nrw/commons/media/MediaDetailFragment.java +++ b/app/src/main/java/fr/free/nrw/commons/media/MediaDetailFragment.java @@ -9,11 +9,11 @@ import android.os.Bundle; import android.text.Editable; import android.text.TextWatcher; -import android.util.TypedValue; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.view.ViewTreeObserver; +import android.view.ViewTreeObserver.OnGlobalLayoutListener; import android.widget.ArrayAdapter; import android.widget.Button; import android.widget.EditText; @@ -33,7 +33,6 @@ import org.apache.commons.lang3.StringUtils; import org.wikipedia.util.DateUtil; -import org.wikipedia.util.StringUtil; import java.util.ArrayList; import java.util.Date; @@ -224,7 +223,15 @@ public void onResume() { .setVisibility(View.GONE); } media = detailProvider.getMediaAtPosition(index); - displayMediaDetails(); + scrollView.getViewTreeObserver().addOnGlobalLayoutListener( + new OnGlobalLayoutListener() { + @Override + public void onGlobalLayout() { + scrollView.getViewTreeObserver().removeOnGlobalLayoutListener(this); + displayMediaDetails(); + } + } + ); } private void displayMediaDetails() { @@ -243,7 +250,8 @@ private void displayMediaDetails() { private void updateAspectRatio(ImageInfo imageInfo) { if (imageInfo != null) { - int finalHeight = (scrollView.getWidth()*imageInfo.getHeight()) / imageInfo.getWidth(); + int screenWidth = scrollView.getWidth(); + int finalHeight = (screenWidth*imageInfo.getHeight()) / imageInfo.getWidth(); ViewGroup.LayoutParams params = image.getLayoutParams(); params.height = finalHeight; image.setLayoutParams(params);