IT 개발/Android

[안드로이드] TextView의 속성 정리 (텍스트뷰)

KADOSHOLY 2022. 9. 2. 08:15
반응형

 

안드로이드 - TextView의 속성 정리 (텍스트뷰)

 

 

   목차

  1. TextView란?
  2. TextView의 속성
    1. 기본 기능 및 텍스트의 표현 관련 속성
    2. 텍스트의 간격 및 여백 관련 속성
    3. 텍스트뷰의 크기 관련 속성
    4. 텍스트 입력 관련 속성 (주로 EditText 관련)
    5. 텍스트와 함께 사용되는 drawable 이미지 관련 속성

 

 

1. TextView란?

 

TextView는 화면에 텍스트를 나타내는 위젯으로 안드로이드에서 화면 구성을 할 때 가장 많이 사용되는 위젯 중 하나입니다. EditText, Button 등 텍스트가 사용되는 위젯은 TextView를 상속받아 만들어진 경우가 많으므로 TextView의 속성과 사용법을 알아두면 이를 상속받는 다른 위젯을 사용할 때 편리하게 활용할 수 있습니다. 

 

텍스트뷰 상속도
TextView 상속도

 

 

2. TextView의 속성

 

TextView의 속성 중 자주사용되거나 알아두면 좋을만한 속성을 위주로 정리하였습니다. 앞서 이야기한 대로 TextView는 Button 및 EditText 등 다른 위젯에서 상속받아 사용됩니다. 따라서 비록 TextView에 있는 속성일지라도 일부 속성은 이를 상속받아 사용하는 위젯에서 더 유용하게 사용되는 속성들이 많이 있으니 참고하시기 바랍니다.

 

 

1) 기본 기능 및 텍스트의 표현 관련 속성

  1. android:text : 화면에 나타낼 텍스트를 지정합니다. 
  2. android:textColor : 텍스트의 색상을 지정합니다. 
  3. android:textSize : 텍스트의 폰트 크기를 지정합니다.  
  4. android:textAllCaps : 텍스트를 모두 대문자로 표시합니다. 
  5. android:textAppearance : 텍스트의 여러 속성이 정의된 값을 불러와 적용합니다. 
  6. android:textColorLink : 링크가 걸린 텍스트의 색상을 지정합니다. 
  7. android:textFontWeight : 텍스트의 두께를 지정합니다. (1~1000, API28 이상에서만 적용됨)
  8. android:textIsSelectable : 텍스트뷰의 텍스트를 선택할 수 있도록 설정합니다.
  9. android:textScaleX : 텍스트의 글자폭을 x방향으로 늘려줍니다. 
  10. android:textStyle : 텍스트의 폰트 스타일을 지정합니다 (nomal, bolditalic, bold|italic)
  11. android:typeface : 텍스트의 폰트 typeface를 지정합니다. (normal, monospace, sans, serif)
  12. android:autoLink : 텍스트에 포함된 이메일 주소, url등의 문자를 자동으로 클릭 가능한 링크가 되도록 설정합니다. 
  13. android:linksClickable : 링크의 클릭가능여부를 설정합니다. 
  14. android:breakStrategy : 텍스트의 줄바뀜 방식을 지정합니다. (simple, balanced, high-quality)
  15. android:bufferType : getText()로 반환되는 텍스트의 특성을 지정합니다. (normal, spannable, editable)
  16. android:fontFamily : 텍스트의 폰트를 지정합니다. 
  17. android:enabled : 해당 위젯을 활성화 할지를 설정합니다. 
  18. android:freezesText : 현재 텍스트의 상태 유지기능을 설정합니다. 
  19. android:gravity : 뷰안의 텍스트 정렬을 위한 중력 방향을 지정합니다. 
  20. android:ellipsize : 텍스트의 내용 대비 공간이 부족한 경우 생략 기호(...) 표시방식을 지정합니다. 
    • android:marqueeRepeatLimit : ellipsize 속성의 marquee(텍스트흐름) 횟수를 지정합니다. (singleLine이면서 focus를 받은경우동작)
  21. android:autoSizeTextType : 텍스트 크기의 자동조절 방식을 지정합니다. (아래 세부 속성들과 함께 사용됩니다.)
    • android:autoSizeMaxTextSize : 텍스트가 자동조절 방식일 때 최대크기를 지정합니다.
    • android:autoSizeMinTextSize : 텍스트가 자동조절 방식일때 최소크기를 지정합니다. 
    • android:autoSizeStepGranularity : 텍스트의 자동조절 정밀도 크기를 지정합니다. (autoSizeTextType="uniform"일 경우)
    • android:autoSizePresetSizes : 미리 정의된 텍스트의 크기중에서만 자동조절되도록 합니다. (autoSizeTextType="uniform"일 경우)
  22. android:maxLength : 텍스트의 최대 길이를 지정합니다. 
  23. android:shadowRadius : 텍스트의 그림자 반경을 지정합니다. 
  24. android:shadowColor : 텍스트의 그림자 색상을 지정합니다. 
  25. android:shadowDx : 텍스트의 그림자를 x축으로 이동시킬 거리를 지정합니다. 
  26. android:shadowDy : 텍스트의 그림자를 y축으로 이동시킬 거리를 지정합니다. 
  27. android:singleLine : 텍스트를 한줄로 표시합니다.  

 

 

2) 텍스트의 간격 및 여백 관련 속성

  1. android:elegantTextHeight : 텍스트의 높이를 elegantTextHeight로 지정하여 높이가 약간 커집니다.
  2. android:includeFontPadding : 폰트 크기에 포함된 위아래 여백의 적용 여부를 지정합니다. 
  3. android:letterSpacing : 글자의 간격을 조절합니다. 
  4. android:lineHeight : 정확한 줄간격 높이를 지정합니다. 
  5. android:lineSpacingExtra : 추가로 더해줄 줄간격 높이를 지정합니다.  
  6. android:lineSpacingMultiplier : 현재 줄간격 높이와 곱한 값으로 줄간격을 설정합니다. 
  7. android:firstBaselineToTopHeight : 뷰 위쪽 끝부터 첫번째 텍스트 baseline까지 거리를 지정합니다. (paddingTop 적용안됨)
  8. android:lastBaselineToBottomHeight : 뷰 아래쪽 끝부터 마지막 텍스트 baseline까지 거리를 지정합니다. (paddingBottom 적용안됨)

 

 

3) 텍스트뷰의 크기 관련 속성

  1. android:lines : 텍스트뷰의 높이를 지정된 라인갯수 만큼의 높이로 만듭니다. 
  2. android:minLines : 텍스트뷰의 높이가 되는 최소 라인수를 지정합니다. 
  3. android:maxLines : 텍스트뷰의 높이가 되는 최대 라인수를 지정합니다. (lines속성이 우선함)
  4. android:ems : 텍스트뷰의 넓이를 폰트 사이즈에 비례하는 em단위로 적용합니다. (laytout_width="wrap_content"일 경우) 
  5. android:minEms : 텍스트뷰의 최소 넓이를 나타내는 em값을 지정합니다. 
  6. android:maxEms : 텍스트뷰의 최대 넓이를 나타내는 em값을 지정합니다. (ems값이 우선함)
  7. android:height : 텍스트뷰의 정확한 높이를 지정합니다. (layout_height="wrap_content" 일때)
  8. android:minHeight : 텍스트뷰의 최소 높이를 지정합니다. (layout_height="wrap_content" 일때)
  9. android:maxHeight : 텍스트뷰의 최대 높이를 지정합니다. (layout_height="wrap_content" 일때), (height속성이 우선함)
  10. android:width : 텍스트뷰의 정확한 넓이를 지정합니다. (layout_width="wrap_content" 일때)
  11. android:minWidth : 텍스트뷰의 최소 넓이를 지정합니다. (layout_width="wrap_content" 일때)
  12. android:maxWidth : 텍스트뷰의 최대 넓이를 지정합니다. (layout_width="wrap_content" 일때), (width속성이 우선함)

 

 

4) 텍스트 입력 관련 속성 (주로 EditText 관련)

  1. android:cursorVisible : 텍스트 입력을 위한 커서를 보이게 할지, 안보이게 할지를 설정합니다. 
  2. android:digits : 텍스트입력시 입력 가능한 숫자나 문자를 지정합니다. 
  3. android:hint : 뷰안의 텍스트가 비어있을때 나타낼 힌트 문자를 설정합니다. 
  4. android:textColorHint : 힌트 문자의 색상을 지정합니다. 
  5. android:inputType : 입력 데이터의 형태를 지정합니다. (데이터의 형태에 따라 텍스트 입력기(IME)가 변경됩니다.)
  6. android:imeOptions : 텍스트 입력기(IME)의 액션버튼 용도를 지정합니다. 
  7. android:imeActionId : 화면에 나타난 액션버튼의 클릭 이벤트에 사용되는 actionId값을 지정합니다. 
  8. android:imeActionLabel : 화면에 나타난 액션버튼에 표시될 텍스트를 지정합니다. 
  9. android:selectAllOnFocus : 해당 뷰가 focus를 받으면 입력내용이 모두 선택된 상태가 됩니다. 
  10. android:textColorHighlight : 텍스트가 선택되었을때 선택된 텍스트의 배경색을 지정합니다.  
  11. android:textCursorDrawable : 텍스트입력 위치를 알려주는 커서의 drawable 이미지를 지정합니다. 
  12. android:textSelectHandle : 텍스트입력 커서 위치를 지정하기 위한 앵커의 이미지를 지정합니다. 
  13. android:textSelectHandleLeft : 선택된 텍스트의 왼쪽 위치를 알려주는 앵커의 이미지를 지정합니다. 
  14. android:textSelectHandleRight : 선택된 텍스트의 오른쪽 위치를 알려주는 앵커의 이미지를 지정합니다. 

 

 

5) 텍스트와 함께 사용되는 drawable 이미지 관련 속성

  1. android:drawableTop : 텍스트의 위쪽에 drawable 이미지를 함께 배치합니다.  
  2. android:drawableBottom : 텍스트의 아래쪽에 drawable 이미지를 함께 배치합니다.  
  3. android:drawableLeft : 텍스트의 왼쪽에 drawable 이미지를 함께 배치합니다.  
  4. android:drawableRight : 텍스트의 오른쪽에 drawable 이미지를 함께 배치합니다.  
  5. android:drawableStart : 텍스트의 시작쪽에 drawable 이미지를 함께 배치합니다.  
  6. android:drawableEnd : 텍스트의 끝쪽에 drawable 이미지를 함께 배치합니다.  
  7. android:drawablePadding : 텍스트와 drawable 이미지간 여백을 지정합니다. 
  8. android:drawableTint : 텍스트와 함께 사용된 drawable 이미지에 색조를 적용합니다. 
  9. android:drawableTintMode: drawableTint를 적용하기 위한 블렌딩모드를 지정합니다. 

 

반응형