0
所提到的類得到了下面的方法:安卓:MyLocationOverlay.java - >瞭解問題
protected void drawCompass(Canvas canvas, float bearing) {
int offset = Math.max(canvas.getHeight(), canvas.getWidth())/8;
Rect r = new Rect(0, 0, 2*offset, 2*offset);
canvas.drawBitmap(compassBase, null, r, paint);
canvas.rotate(-bearing, offset, offset);
canvas.drawBitmap(compassArrow, null, r, paint);
}
鏈接到完整的源:MyLocationOverlay
在那裏,他們創建一個矩形[R巫指定了兩個位圖應繪製在畫布上。
drawBitmap的java的醫生說:「畫指定的位圖,縮放/自動轉換,填補了目標矩形如果源矩形不爲空,它指定位圖繪製的子集。」
因爲兩個Bitmaps使用相同的Rect r,並且它們都自動縮放以適合Rect,所以當我在MapView中激活指南針時,結果爲什麼會是完美的Compass。
在我看來,結果應該是廢話,因爲指南針的箭頭也縮放以適合Rect。
那麼推理中的錯誤在哪裏?