2011-09-30 3 views
0

私は地図上にたくさんのアイコンを描いています。実際にはアイコンは回転した同じ画像から来ます。しかし地図上では、画像は2つの異なるサイズを取る、私は理由を知らない。 、Android、18x18ピクセルの円形のアイコンを回転させると、サイズの異なるアイコンが表示されますか?

Matrix mtx = new Matrix(); 
mtx.postRotate(unit.heading); 
Bitmap bmp = BitmapFactory.decodeResource(getResources(), 
        R.drawable.arrow18); 
Bitmap rotatedBMP = Bitmap.createBitmap(bmp, 0, 0, bmp.getWidth(), 
         bmp.getHeight(), mtx, true); 
BitmapDrawable bmd = new BitmapDrawable(rotatedBMP); 

感謝どれ魔法の洞察力のおかげ

答えて

3

http://orangesoftware.net/arrow18.png

アイコンを回転させるためのコード:http://orangesoftware.net/iconmap.png

画像ファイルは次のようになります。これは、結果は次のようになりますサイズの変化の原因は、回転が90度の倍数でない場合です。 bmpはそれを保持するImageViewを超えて突き出る角になっているダイヤモンドになり、ImageViewに合わせてサイズが変更されます。 この不一致を処理する最も簡単な方法は、ImageViewのscaleTypeをCENTERに設定することです。これは、イメージを中央に収縮させることなくイメージの中央に配置します。

+0

ありがとうございますが、少なくとも私が知っているものではないImageViewはありません。 – Gerry

+1

あなたのビットマップはどうなっていますか? –

+0

android.graphics.drawable.Drawable – Gerry

関連する問題