title: Android resize buttons for different resolutions scale layout
body: <p>Is this a good way for all android devices ?   I have an imageview as background, and I resize it according to the resolution of the android device.</p>
  
  <pre><code>private Bitmap getResizedBitmap() 
  {
      Bitmap resizedBitmap;
      Bitmap bmp=BitmapFactory.decodeResource(getResources(), R.drawable.background_3ball);
      x640 = bmp.getWidth();
      y960 = bmp.getHeight(); 
  
      if(screenRatio &gt; ratioOrginal)
      {
          imageWidth=(int)((double)y960*widthMain/heightMain);
          imageHeight=y960;
          int x = (x640-imageWidth)/2;
          resizedBitmap = Bitmap.createBitmap(bmp,x,0, imageWidth, imageHeight);
      }
      else if(screenRatio &lt; ratioOrginal)
      {
          imageWidth=x640;
          imageHeight=(int)((double)x640*heightMain/widthMain);
          int y = (y960-imageHeight)/2;
          resizedBitmap = Bitmap.createBitmap(bmp,0,y, imageWidth, imageHeight);
      }
      else
      {
          return bmp;
      }
  
  
  
      tw.setText(widthMain + "\n" + heightMain + "\n" + imageWidth + "\n" + imageHeight);
  
      return resizedBitmap;
  }
  
  private void SetBackground() 
  {
      DisplayMetrics metrics = new DisplayMetrics();
      getWindowManager().getDefaultDisplay().getMetrics(metrics);
      widthMain = metrics.widthPixels;
      heightMain = metrics.heightPixels;
      screenRatio = ((double)heightMain) / widthMain;
  
      Bitmap resizedBitmap = getResizedBitmap();
  
      imageBackground.setImageBitmap(resizedBitmap); 
  }
  </code></pre>
  
  <p>using dp or another thing makes  the image look bad. For example I have circe in the backgorund and it seems like an elipse while scaling it automatically </p>
  
  <pre><code> for example my image has dimensions of 640x960.
   ratioOrginal is 960:640=1.5
   if a device is mdpi and having dimension of 320x480
   screenRatio=480/320=1.5 and it is okay.
   but if it is mdpi and having dimension of 480x800
   screenRatio=900/480 is NOT 1.5.
   both are mdpi, but the ratio is not standard.
   I can not understand how people do this
   in supporting multiple screens there is one xml for mdpi's
   how it get's different resolutions.
  </code></pre>