//> set height after ImageView draw. ViewTreeObserver vto = campaignImageView.getViewTreeObserver(); vto.addOnPreDrawListener(new ViewTreeObserver.OnPreDrawListener() { public boolean onPreDraw() { campaignImageView.getViewTreeObserver().removeOnPreDrawListener(this); float height = drw.getIntrinsicHeight(); float width = drw.getIntrinsicWidth(); float ratio = height / width; int imageViewHeight = (int) ( campaignImageView.getMeasuredWidth() * ratio); LayoutParams lp = new LayoutParams( LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT); lp.height = imageViewHeight; campaignImageView.setLayoutParams(lp); return true; } }); http://stackoverflow.com/questions/4680499/how-to-get-the-width-and-height-of-an-android-widget-imageview