티스토리 뷰

 

 

 

[Android] Canvas TextView DP, Pixel 설정

TextView 의 TextSize를 xml에서 설정하지 않고 Canvas를 이용하는 Code상에서 동적으로 설정해주고 싶을 때 DP값과 Pixel 값을 변환 시켜주는 방법이다.

 

Paint paint = new Paint();
paint.setTextSize(14);
canvas.drawText("Hello World!", 200, 500, paint);


TextView textView = (TextView)findViewById(R.id.textView);
textView.setTextSize(14);
textView.setText("Hello World");

 

아래와 같이 Pixel 을 DP 값으로, DP를 Pixel 값으로 변경하는 방법을 이용하여 동적 코드상에서 text size 를 설정 할 수 있다.

//To convert Pixel value into dp use the following code:
public static float convertPixelsToDp(float px,Context context){

  DisplayMetrics metrics = context.getResources().getDisplayMetrics();
  float dp = px / (metrics.densityDpi / 160f);
  return dp;

}

//To convert dp value into pixel use the following code:
public static float convertDpToPixel(float dp,Context context){

  DisplayMetrics metrics = context.getResources().getDisplayMetrics();
  float px = dp * (metrics.densityDpi/160f);
  return px;

}
댓글

파트너스 활동을 통해 일정액의 수수료를 제공받을 수 있음



Total
Today
Yesterday
최근에 달린 댓글