IT 개발/Android
[안드로이드] TextView의 속성 정리 (텍스트뷰)
KADOSHOLY
2022. 9. 2. 08:15
반응형
안드로이드 - TextView의 속성 정리 (텍스트뷰)
목차
- TextView란?
- TextView의 속성
- 기본 기능 및 텍스트의 표현 관련 속성
- 텍스트의 간격 및 여백 관련 속성
- 텍스트뷰의 크기 관련 속성
- 텍스트 입력 관련 속성 (주로 EditText 관련)
- 텍스트와 함께 사용되는 drawable 이미지 관련 속성
1. TextView란?
TextView는 화면에 텍스트를 나타내는 위젯으로 안드로이드에서 화면 구성을 할 때 가장 많이 사용되는 위젯 중 하나입니다. EditText, Button 등 텍스트가 사용되는 위젯은 TextView를 상속받아 만들어진 경우가 많으므로 TextView의 속성과 사용법을 알아두면 이를 상속받는 다른 위젯을 사용할 때 편리하게 활용할 수 있습니다.
2. TextView의 속성
TextView의 속성 중 자주사용되거나 알아두면 좋을만한 속성을 위주로 정리하였습니다. 앞서 이야기한 대로 TextView는 Button 및 EditText 등 다른 위젯에서 상속받아 사용됩니다. 따라서 비록 TextView에 있는 속성일지라도 일부 속성은 이를 상속받아 사용하는 위젯에서 더 유용하게 사용되는 속성들이 많이 있으니 참고하시기 바랍니다.
1) 기본 기능 및 텍스트의 표현 관련 속성
- android:text : 화면에 나타낼 텍스트를 지정합니다.
- android:textColor : 텍스트의 색상을 지정합니다.
- android:textSize : 텍스트의 폰트 크기를 지정합니다.
- android:textAllCaps : 텍스트를 모두 대문자로 표시합니다.
- android:textAppearance : 텍스트의 여러 속성이 정의된 값을 불러와 적용합니다.
- android:textColorLink : 링크가 걸린 텍스트의 색상을 지정합니다.
- android:textFontWeight : 텍스트의 두께를 지정합니다. (1~1000, API28 이상에서만 적용됨)
- android:textIsSelectable : 텍스트뷰의 텍스트를 선택할 수 있도록 설정합니다.
- android:textScaleX : 텍스트의 글자폭을 x방향으로 늘려줍니다.
- android:textStyle : 텍스트의 폰트 스타일을 지정합니다 (nomal, bold, italic, bold|italic)
- android:typeface : 텍스트의 폰트 typeface를 지정합니다. (normal, monospace, sans, serif)
- android:autoLink : 텍스트에 포함된 이메일 주소, url등의 문자를 자동으로 클릭 가능한 링크가 되도록 설정합니다.
- android:linksClickable : 링크의 클릭가능여부를 설정합니다.
- android:breakStrategy : 텍스트의 줄바뀜 방식을 지정합니다. (simple, balanced, high-quality)
- android:bufferType : getText()로 반환되는 텍스트의 특성을 지정합니다. (normal, spannable, editable)
- android:fontFamily : 텍스트의 폰트를 지정합니다.
- android:enabled : 해당 위젯을 활성화 할지를 설정합니다.
- android:freezesText : 현재 텍스트의 상태 유지기능을 설정합니다.
- android:gravity : 뷰안의 텍스트 정렬을 위한 중력 방향을 지정합니다.
- android:ellipsize : 텍스트의 내용 대비 공간이 부족한 경우 생략 기호(...) 표시방식을 지정합니다.
- android:marqueeRepeatLimit : ellipsize 속성의 marquee(텍스트흐름) 횟수를 지정합니다. (singleLine이면서 focus를 받은경우동작)
- android:autoSizeTextType : 텍스트 크기의 자동조절 방식을 지정합니다. (아래 세부 속성들과 함께 사용됩니다.)
- android:autoSizeMaxTextSize : 텍스트가 자동조절 방식일 때 최대크기를 지정합니다.
- android:autoSizeMinTextSize : 텍스트가 자동조절 방식일때 최소크기를 지정합니다.
- android:autoSizeStepGranularity : 텍스트의 자동조절 정밀도 크기를 지정합니다. (autoSizeTextType="uniform"일 경우)
- android:autoSizePresetSizes : 미리 정의된 텍스트의 크기중에서만 자동조절되도록 합니다. (autoSizeTextType="uniform"일 경우)
- android:maxLength : 텍스트의 최대 길이를 지정합니다.
- android:shadowRadius : 텍스트의 그림자 반경을 지정합니다.
- android:shadowColor : 텍스트의 그림자 색상을 지정합니다.
- android:shadowDx : 텍스트의 그림자를 x축으로 이동시킬 거리를 지정합니다.
- android:shadowDy : 텍스트의 그림자를 y축으로 이동시킬 거리를 지정합니다.
- android:singleLine : 텍스트를 한줄로 표시합니다.
2) 텍스트의 간격 및 여백 관련 속성
- android:elegantTextHeight : 텍스트의 높이를 elegantTextHeight로 지정하여 높이가 약간 커집니다.
- android:includeFontPadding : 폰트 크기에 포함된 위아래 여백의 적용 여부를 지정합니다.
- android:letterSpacing : 글자의 간격을 조절합니다.
- android:lineHeight : 정확한 줄간격 높이를 지정합니다.
- android:lineSpacingExtra : 추가로 더해줄 줄간격 높이를 지정합니다.
- android:lineSpacingMultiplier : 현재 줄간격 높이와 곱한 값으로 줄간격을 설정합니다.
- android:firstBaselineToTopHeight : 뷰 위쪽 끝부터 첫번째 텍스트 baseline까지 거리를 지정합니다. (paddingTop 적용안됨)
- android:lastBaselineToBottomHeight : 뷰 아래쪽 끝부터 마지막 텍스트 baseline까지 거리를 지정합니다. (paddingBottom 적용안됨)
3) 텍스트뷰의 크기 관련 속성
- android:lines : 텍스트뷰의 높이를 지정된 라인갯수 만큼의 높이로 만듭니다.
- android:minLines : 텍스트뷰의 높이가 되는 최소 라인수를 지정합니다.
- android:maxLines : 텍스트뷰의 높이가 되는 최대 라인수를 지정합니다. (lines속성이 우선함)
- android:ems : 텍스트뷰의 넓이를 폰트 사이즈에 비례하는 em단위로 적용합니다. (laytout_width="wrap_content"일 경우)
- android:minEms : 텍스트뷰의 최소 넓이를 나타내는 em값을 지정합니다.
- android:maxEms : 텍스트뷰의 최대 넓이를 나타내는 em값을 지정합니다. (ems값이 우선함)
- android:height : 텍스트뷰의 정확한 높이를 지정합니다. (layout_height="wrap_content" 일때)
- android:minHeight : 텍스트뷰의 최소 높이를 지정합니다. (layout_height="wrap_content" 일때)
- android:maxHeight : 텍스트뷰의 최대 높이를 지정합니다. (layout_height="wrap_content" 일때), (height속성이 우선함)
- android:width : 텍스트뷰의 정확한 넓이를 지정합니다. (layout_width="wrap_content" 일때)
- android:minWidth : 텍스트뷰의 최소 넓이를 지정합니다. (layout_width="wrap_content" 일때)
- android:maxWidth : 텍스트뷰의 최대 넓이를 지정합니다. (layout_width="wrap_content" 일때), (width속성이 우선함)
4) 텍스트 입력 관련 속성 (주로 EditText 관련)
- android:cursorVisible : 텍스트 입력을 위한 커서를 보이게 할지, 안보이게 할지를 설정합니다.
- android:digits : 텍스트입력시 입력 가능한 숫자나 문자를 지정합니다.
- android:hint : 뷰안의 텍스트가 비어있을때 나타낼 힌트 문자를 설정합니다.
- android:textColorHint : 힌트 문자의 색상을 지정합니다.
- android:inputType : 입력 데이터의 형태를 지정합니다. (데이터의 형태에 따라 텍스트 입력기(IME)가 변경됩니다.)
- android:imeOptions : 텍스트 입력기(IME)의 액션버튼 용도를 지정합니다.
- android:imeActionId : 화면에 나타난 액션버튼의 클릭 이벤트에 사용되는 actionId값을 지정합니다.
- android:imeActionLabel : 화면에 나타난 액션버튼에 표시될 텍스트를 지정합니다.
- android:selectAllOnFocus : 해당 뷰가 focus를 받으면 입력내용이 모두 선택된 상태가 됩니다.
- android:textColorHighlight : 텍스트가 선택되었을때 선택된 텍스트의 배경색을 지정합니다.
- android:textCursorDrawable : 텍스트입력 위치를 알려주는 커서의 drawable 이미지를 지정합니다.
- android:textSelectHandle : 텍스트입력 커서 위치를 지정하기 위한 앵커의 이미지를 지정합니다.
- android:textSelectHandleLeft : 선택된 텍스트의 왼쪽 위치를 알려주는 앵커의 이미지를 지정합니다.
- android:textSelectHandleRight : 선택된 텍스트의 오른쪽 위치를 알려주는 앵커의 이미지를 지정합니다.
5) 텍스트와 함께 사용되는 drawable 이미지 관련 속성
- android:drawableTop : 텍스트의 위쪽에 drawable 이미지를 함께 배치합니다.
- android:drawableBottom : 텍스트의 아래쪽에 drawable 이미지를 함께 배치합니다.
- android:drawableLeft : 텍스트의 왼쪽에 drawable 이미지를 함께 배치합니다.
- android:drawableRight : 텍스트의 오른쪽에 drawable 이미지를 함께 배치합니다.
- android:drawableStart : 텍스트의 시작쪽에 drawable 이미지를 함께 배치합니다.
- android:drawableEnd : 텍스트의 끝쪽에 drawable 이미지를 함께 배치합니다.
- android:drawablePadding : 텍스트와 drawable 이미지간 여백을 지정합니다.
- android:drawableTint : 텍스트와 함께 사용된 drawable 이미지에 색조를 적용합니다.
- android:drawableTintMode: drawableTint를 적용하기 위한 블렌딩모드를 지정합니다.
반응형