Android

[Android] TextView breakStrategy 속성에 대하여 - 긴 글 줄 바꿈 규칙

elisom 2022. 4. 22. (Last updated:

 

 

TextView에 긴 글을 출력할 때, 줄 바꿈 규칙을 정하는 breakStrategy 라는 속성이 있다.

breakStrategy에는 balanced, high_quality, simple 세 가지의 값이 올 수 있으며

예제 코드로 이 값들이 어떻게 적용되는지 확인해본다 👩‍🔬

 

 

1. android:breakStrategy="simple"

가장 간단한 정책으로, 줄을 벗어나는 단어는 다음 줄에 출력한다.

 

<TextView
    android:id="@+id/description_text_view"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_margin="10dp"
    android:breakStrategy="simple"
    android:text="TextView"
    android:textColor="@color/white"
    android:textSize="20sp" />

 

 

2. android:breakStrategy="high_quality"

자동으로 하이픈을 사용해 출력한다.

 

<TextView
    android:id="@+id/description_text_view"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_margin="10dp"
    android:breakStrategy="high_quality"
    android:text="TextView"
    android:textColor="@color/white"
    android:textSize="20sp" />

 

breakStategy 속성만을 이용하면 simplehigh_quality가 같은 형태이고,

hyphenationFrequency 속성을 추가하면 자동으로 하이픈을 추가하여 긴 문장 출력을 한다고 하는데...

<TextView
    android:id="@+id/description_text_view"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_margin="10dp"
    android:breakStrategy="high_quality"
    android:hyphenationFrequency="full"
    android:text="TextView"
    android:textColor="@color/white"
    android:textSize="20sp" />

 위 코드로 테스트해본 결과 하이픈은 생기지 않았다 😫

하이픈이 생기지 않는 모습...

 

 

3. android:breakStrategy="balanced"

각 줄들의 길이를 균형 있게 맞추어 출력한다.

 

<TextView
    android:id="@+id/description_text_view"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_margin="10dp"
    android:breakStrategy="balanced"
    android:text="TextView"
    android:textColor="@color/white"
    android:textSize="20sp" />

전체적인 줄들의 길이가 평균치에 맞춰져 있어 길이가 고른 것을 볼 수 있다.

 

 

Ref.