Android Canvas畫布相對位置

幸虧博得同事的幫助,這裏多謝同事苗~java

由於android中佈局中的單位可能是dp,而後爲了讓它在手機上顯示內容誤差不是太大的話,這裏就要轉換一下下了.......android

先來段代碼canvas

//這裏是dp轉px的操做 
public static int dipTopx(Context context, float dpValue){
    final float scale = context.getResources().getDisplayMetrics().density;
    return (int)(dpValue*scale+0.5f);
 }

而後再來段畫布的操做佈局

 InputStream is = getResources().openRawResource(R.drawable.am_sign);   
 Bitmap mBitmap = BitmapFactory.decodeStream(is);  
 Paint mPaint = new Paint(); 
 canvas.drawBitmap(mBitmap, dipTopx(getContext(),23), dipTopx(getContext(),30), mPaint);

好了,這樣子顯示的話誤差就不會那麼大了~code

相關文章
相關標籤/搜索