마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

해상도에 따른 글자크기 ?

0 추천
 public Bitmap drawTextToBitmap3(String gText) {
  Paint paint = new Paint();
  paint.setTextAlign(Paint.Align.LEFT);
  paint.setAntiAlias(true);
  paint.setTextSize(deviceWidth);
  paint.setColor(Color.DKGRAY);
  paint.setTextSize((int) (25));
  
  textWidth = (int)Math.ceil(paint.measureText(gText));
  
  Bitmap bmp = BitmapFactory.decodeResource(getResources(), R.drawable.circle_50).copy(Config.ARGB_8888, true);
  
  int bitmapWidth = bmp.getWidth();
  Canvas canvas = new Canvas(bmp);
  canvas.drawText(gText, (bitmapWidth-textWidth)/2, deviceHeight+15, paint);
  
  return bmp;
 } 
 

위와 같이 햇는데요  삼성계열의  스마트폰에서는 글자크기나 글자위치가 올바로 나오는데 LG스마트폰에서는 글씨가 작고 위치도 위로 올라가있습니다
도대체 어떻게 하면 되나요?
헨씀히포 (3,660 포인트) 님이 2014년 9월 16일 질문
두 기종의 해상도를 확인하시고~ 같다고 해도 다른 분들 답변처럼 dp를 사용해야 할거같네요. 예전에 해상도 다른 넘들 통합적으로 레이아웃 하나로 통일했을 때 weight인가 썼네요

3개의 답변

0 추천
 
채택된 답변
일단 글자 크기자체가 fix 되어 있어서 다양한 dpi 환경에 적응 할 수 없는 코드 이고, 글자가 위로 올라가는 건, 코드 상에서 x좌표는 bitmap 폭과 글자 폭을 이용해 계산 하셨는데, y 좌표는 그냥 device height + 15 하셔서 그런 것 같습니다.

text size는 기기 dpi을 구한 후 연동해서 계산 하셔야 기기마다 비슷한 크기의 글자가 나타 납니다.
프로삽질러 (3,040 포인트) 님이 2014년 9월 17일 답변
헨씀히포님이 2014년 9월 27일 채택됨
0 추천
두 스마트폰의 density 가 같나요?
초보개발자ㅠ (33,870 포인트) 님이 2014년 9월 17일 답변
답변 고맙습니다 .........................................................
0 추천
글자 크기는 sp나 dp를 사용해야 합니다.
익명사용자 님이 2014년 9월 17일 답변
답변 고맙습니다 .........................................................
...