キャラクターを扱ったアプリの場合、
どんな解像度の端末でも比率を保つことが重要です。
BitmapDrawable bmpDrawerに基準の画像が入っているとした場合の処理。
※この処理はXMLからandroid:scaleType:fitCenterの指定ができなくて
コードからフィッティングさせるときに使います。
float imgW = bmpDrawer.getIntrinsicWidth();
float imgH = bmpDrawer.getIntrinsicHeight();
DisplayMetrics metrics = new DisplayMetrics();
this.getWindowManager().getDefaultDisplay().getMetrics(metrics);
float displayW = metrics.widthPixels;
float displayH = metrics.heightPixels;
float scaledDensity = metrics.scaledDensity;
float scale = displayW / imgW;
int targetW = (int) Math.ceil(scale * imgW * scaledDensity);
int targetH = (int) Math.ceil(scale * imgH * scaledDensity);
Bitmap bitmap = bmpDrawer.getBitmap();
Bitmap output = Bitmap.createScaledBitmap(bitmap, targetW, targetH, false);
bmpDrawer= new BitmapDrawable(output);