If only your posting efficiency was as high.....
// Copyright Skrag 2016final DisplayMetrics metrics = resources.getDisplayMetrics();final int originalWidthScaled = (int) (drawable.getIntrinsicWidth() * metrics.density + 0.5f);final int originalHeightScaled = (int) (drawable.getIntrinsicHeight() * metrics.density + 0.5f);int width, height;if (originalWidthScaled > metrics.widthPixels) { height = originalHeightScaled * metrics.widthPixels / originalWidthScaled; width = metrics.widthPixels;} else { height = originalHeightScaled; width = originalWidthScaled;}drawable.setBounds(0, 0, width, height);