안드로이드 개발 질문/답변
(글 수 45,052)
높이가 33px인 png파일을 불러와서 화면에 그리는 루틴이 있습니다.
Resources r = getResources();
BitmapDrawable db = null;
if( Value < 100 )
db = (BitmapDrawable)r.getDrawable(R.drawable.kw_bg_01);
else if( Value >= 100 && Value < 1000 )
db = (BitmapDrawable)r.getDrawable(R.drawable.kw_bg_02);
else if( Value >= 1000 )
db = (BitmapDrawable)r.getDrawable(R.drawable.kw_bg_03);
bit = db.getBitmap();
그리고 그려지는 105px 높이의 canvas에 이걸 그려주는데
canvas.drawBitmap(bit, RoundBoxXPos, RoundBoxYPos, GraphPaint);
높이가 딱 반을 차지하더군요. (33px이면 1/3을 차지해야하는데..)
왜그런가 봤더니 bit의 height값이 50이더군요.
시험폰이 넥서스 S인데 density가 240이라서 33 * (240/160) = 50 이렇게 bitmap크기가 바뀌는거 같습니다.
원래 크기대로 그려주고 싶은데 어떻게 해야하나요?




이미지를 drawable-nodpi 폴더에 넣어보세요~ 없으면 만드시구요~