본문 바로가기
Android 개발/android :: Tip

[안드로이드 View] custom TextView 로 style 일괄 적용하기

by 독학하는 1인 개발자 2019. 9. 25.

Android 개발 Tip.

 

-TextView (텍스트뷰) Style 일괄 적용

 

커스텀 텍스트뷰 만들기

 

중복 코드 일괄 적용으로 코드 줄이는 방법

 

 

 

 

 

 

TextView를 여러 개 만들어서 쓰는 경우,

 

각각의 텍스트뷰의 스타일을 모두 동일하게 통일하는 경우가 있다.

 

그럴 때 각 뷰마다 코드를 중복해서 작성하게 되는데

 

이를 style로 지정하면 코드를 간편화할 수 있다.

 

 

 

 

Button이나 다른 뷰도 마찬가지로 똑같이 활용할 수 있다.

 

 

 

 

1. 수정 전 예시 (각각 모두 코드 작성한 경우)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
<TextView
    android:text="Text01"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:textColor="#000000"
    android:layout_marginBottom="5dp"
    android:textAppearance="@style/TextAppearance.AppCompat.Medium"
    android:textSize="12sp"
    android:gravity="center"
    android:fontFamily="@font/nanumsquare_acr"/>
 
<TextView
    android:text="Text02"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:textColor="#000000"
    android:layout_marginBottom="5dp"
    android:textAppearance="@style/TextAppearance.AppCompat.Medium"
    android:textSize="12sp"
    android:gravity="center"
    android:fontFamily="@font/nanumsquare_acr"/>
 
<TextView
    android:text="Text03"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:textColor="#000000"
    android:layout_marginBottom="5dp"
    android:textAppearance="@style/TextAppearance.AppCompat.Medium"
    android:textSize="12sp"
    android:gravity="center"
    android:fontFamily="@font/nanumsquare_acr"/>
 
cs

 

 

2. style.xml 에서 style 지정

1
2
3
4
5
6
7
8
9
10
<style name="CustomTextViewStyle"  parent="@android:style/Widget.TextView">
    <item name="android:layout_width">match_parent</item>
    <item name="android:layout_height">wrap_content</item>
    <item name="android:textColor">#000000</item>
    <item name="android:layout_marginBottom">5dp</item>
    <item name="android:textAppearance">@style/TextAppearance.AppCompat.Medium</item>
    <item name="android:textSize">12sp</item>
    <item name="android:gravity">center</item>
    <item name="android:fontFamily">@font/nanumsquare_acr</item>
</style>
cs

 

style name은 알아보기 쉬운 이름으로 직접 정해서 쓰자.

 

 

 

3. TextView에 적용 (수정 후)

1
2
3
4
5
6
7
8
<TextView android:text="Text01"
    style="@style/CustomTextViewStyle"/>
 
<TextView android:text="Text02"
    style="@style/CustomTextViewStyle"/>
 
<TextView android:text="Text03"
    style="@style/CustomTextViewStyle"/>
cs

 

 

훨씬 간결해진 코드를 확인할 수 있다.

 

 

 

물론 TextView 말고도 버튼이나 다른 뷰들도 당연히 다 된다.

 

 

 

 

 

댓글