티스토리 뷰
[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;
}
'Computer > Android' 카테고리의 다른 글
[Android] drawLine, drawPath 사용법 가이드 (0) | 2020.11.03 |
---|---|
[Android] Android Service에서 AlertDialog 호출 (0) | 2020.10.26 |
[Kotlin] Type Inference Failed (타입 추론 실패) (0) | 2020.10.04 |
[Kotlin] Visibility (0) | 2020.10.03 |
[Kotlin] 산술연산자, 비트연산자 (0) | 2020.09.25 |
댓글