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의 크기를 설정하면 되겠습니다.