我想使用方向傳感器和當前GPS位置顯示指示朝向目標方向的箭頭。一切運作良好,除了我想旋轉我的ImageView中的箭頭圖像。ImageView中的旋轉圖像
當前的代碼,其示出的箭頭指向上方,是這樣的:
ImageViewArrow.setImageResource(R.drawable.arrow);
什麼是用於示出的箭頭,由N度旋轉的最佳解決方案?
我想這一點,但它給搞砸了顯卡:
Matrix matrix = new Matrix();
matrix.postRotate(Rotation);
Bitmap bitmapOrg = BitmapFactory.decodeResource(getResources(),
R.drawable.arrow);
Bitmap resizedBitmap = Bitmap.createBitmap(bitmapOrg, 0, 0,
bitmapOrg.getWidth(),bitmapOrg.getHeight(), matrix, true);
BitmapDrawable bmd = new BitmapDrawable(resizedBitmap);
InfoArrow.setScaleType(ScaleType.CENTER);
InfoArrow.setImageDrawable(bmd);
我試過在發佈問題之前,但我得到了錯誤的結果。然而,這實際上是解決方案 - 我只需要刪除InfoArrow.setScaleType(ScaleType.CENTER);然後它看起來是正確的。 – 2010-05-09 16:47:16
對於不斷更新的東西來說,這是非常低效的。對於這種事情,你應該寫一個自定義的View來繪製你想要的東西。沒有必要像這樣濫用像ImageView這樣的標準類;編寫一個繪製位圖的自定義視圖(並在此之前應用旋轉)非常簡單。 – hackbod 2010-05-09 19:58:34