2

たとえば、特定のビットマップ(100x200px)のサイズを常に次のようにします。

 height = 1/10 of the screens height
 length = 1/20 of the screens length,

画面の大きさや解像度に関係なく。ドローアブルフォルダごとにビットマップのバージョンを作成せずにこれを行うにはどうすればよいですか(すべての画像が「ドローアブル」フォルダにのみ保存されている例を見たので、使用する各画像の4つのインスタンスを作成せずに離れる必要があります)?

助けてくれてありがとう!

4

2 に答える 2

1

ビットマップをImageViewにロードし、ImageViewのScaleTypeを「FIT_XY」に設定すると、ImageViewのサイズに合わせて画像が拡大縮小されます。WindowManagerから画面サイズを取得することにより、ImageViewサイズを画面サイズに相対するように設定できます。

例えば:-

int screenWidth = getWindowManager().getDefaultDisplay().getWidth();
int screenHeight = getWindowManager().getDefaultDisplay().getHeight();

float newWidth = 0.05f * screenWidth; 
float newHeight = 0.10f * screenHeight;

imageview.setScaleType( ImageView.ScaleType.FIT_XY ); 
imageview.setLayoutParams(new LinearLayout.LayoutParams( (int)newWidth, (int)newHeight ));  
于 2012-10-15T11:02:43.087 に答える
0

final int width = getWindowManager()。getDefaultDisplay()。getWidth();

final int height = getWindowManager()。getDefaultDisplay()。getHeight();

次に、bitmapfactoryを使用して画像を拡大縮小します

于 2012-10-14T16:57:32.937 に答える