본문 바로가기
카테고리 없음

[Android] TextView(텍스트뷰) 코드로 size(글자크기) 조절방법 / dimen / sp / dp

by MinChan-Youn 2021. 10. 15.

https://parkho79.tistory.com/109

https://kerneler.tistory.com/1

 

 

TextView에서 글자 크기(TextSize)를 조절하는 방법에 대해서 알아보겠습니다.
여러 방법이 있겠지만, 이번 글에서는 글자 크기를 조절하는 방법 3가지에 대해서 알아보겠습니다.
가지는 각 dimen, sp, dp를 이용하여 글자 크기를 설정할 수 있습니다.

자세히 알아보기 위해 다음과 같이 테스트 코드를 작성해보겠습니다.

총 3개의 파일을 준비 및 각각 dimen, sp, dp 모두 20이라는 임의값을 설정, 어떻게 TextView의 글자 크기를 조절할 수 있는지 알아보겠습니다.

 

[activity_main.xml]

<TextView
  android:id="@+id/tv_textview_dimen"
  android:layout_width="wrap_content"
  android:layout_height="wrap_content"
  android:text="dimen. Hello TextView Size!!" />

<TextView
  android:id="@+id/tv_textview_sp"
  android:layout_width="wrap_content"
  android:layout_height="wrap_content"
  android:text="sp. Hello TextView Size!!" />

<TextView
  android:id="@+id/tv_textview_dp"
  android:layout_width="wrap_content"
  android:layout_height="wrap_content"
  android:text="dp. Hello TextView Size!!" />

[MainActivity.java]

package com.example.chani_tistory;

import androidx.appcompat.app.AppCompatActivity;

import android.os.Bundle;
import android.util.TypedValue;
import android.widget.TextView;

import java.lang.reflect.TypeVariable;

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        //case 1. Dimen을 이용한 방법
        TextView tvDimen = findViewById(R.id.tv_textview_dimen);
        tvDimen.setTextSize(TypedValue.COMPLEX_UNIT_PX, getResources().getDimension(R.dimen.textview_size_20));

        //case 2. SP 단위 상수를 이용한 방법
        TextView tvsp = findViewById(R.id.tv_textview_sp);
        tvsp.setTextSize(TypedValue.COMPLEX_UNIT_SP, 20);

        //case 3. DP 단위 상수를 이용한 방법
        TextView tvdp = findViewById(R.id.tv_textview_dp);
        tvdp.setTextSize(TypedValue.COMPLEX_UNIT_DIP, 20);
    }
}

[dimens.xml]

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <dimen name="textview_size_20">20</dimen>
</resources>

 

 

 

결과는 다음과 같습니다.

 

 

 

위와 같이 각 상황에 따라서 dimen, sp, dp값을 정하여 TextView의 크기를 설정하면 되겠습니다.