It is not a good coding practice to scale a image by specifying its height and width in pixels because on different screen sizes i.e HDPI,LDPI,MDPI etc .Hence ,it is recommended to scale a image according to the screen dimensions in the following way.

The following function is used for scaling bitmap which is a part of

Bitmap.createScaledBitmap(Bitmap_image, width, height,true);

1.Create a image view object and associate it with its corresponding ImageView in xml file.

ImageView _imgBitmap;
_imgBitmap = (ImageView) findViewById(;

2.Get the screen dimensions in the following way and use them to scale the bitmap.

/* code for scaling bitmap using screen dimensions to suit all screen sizes*/

/* DisplayMetrics A structure describing general information about a display, such as its size, density, and font scaling. */

DisplayMetrics displaymetrics = new DisplayMetrics();
//getting display data
int height = displaymetrics.heightPixels;//screen height in pixels
int width = displaymetrics.widthPixels;//screen width in pixels
float w= (float) (width/(3.5));//scaling w.r.t screen dimensions
float h= (float)(height/(4.4));

int w1=(int)w;//casting float values to int as the createScaledBitmap takes int args
int h1=(int)h;

Bitmap scaledBmap = Bitmap.createScaledBitmap(, w1, h1,true);
/*displaying captured pic*/
if ( != null) {

This code will help you scale image for all screen sizes.