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 d64ee99104..9a46632f9b 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 @@ -227,7 +227,13 @@ public void onResume() { .setVisibility(View.GONE); } media = detailProvider.getMediaAtPosition(index); - displayMediaDetails(); + + scrollView.post(new Runnable() { + @Override + public void run() { + displayMediaDetails(); + } + }); } private void displayMediaDetails() { @@ -246,7 +252,7 @@ private void displayMediaDetails() { private void updateAspectRatio(ImageInfo imageInfo) { if (imageInfo != null) { - int screenWidth = getScreenWidth(getContext()); + int screenWidth = scrollView.getWidth(); int finalHeight = (screenWidth*imageInfo.getHeight()) / imageInfo.getWidth(); ViewGroup.LayoutParams params = image.getLayoutParams(); params.height = finalHeight; @@ -254,13 +260,6 @@ private void updateAspectRatio(ImageInfo imageInfo) { } } - private int getScreenWidth(Context context) { - DisplayMetrics dm = new DisplayMetrics(); - WindowManager windowManager = (WindowManager) context.getSystemService(WINDOW_SERVICE); - windowManager.getDefaultDisplay().getMetrics(dm); - return dm.widthPixels; - } - private final ControllerListener aspectRatioListener = new BaseControllerListener() { @Override public void onIntermediateImageSet(String id, @Nullable ImageInfo imageInfo) {