Study Record

[안드로이드] TextView 속성 값 한번에 정리하기 본문

안드로이드

[안드로이드] TextView 속성 값 한번에 정리하기

초코초코초코 2023. 6. 12. 15:29
728x90

😶 TextView

TextView 는 텍스트를 표현할 수 있는 View 이다. 기본적으로 높이(layout_width), 너비(height) 와 android:text 로 텍스트 내용을 설정할 수 있다.

<TextView
    android:id="@+id/text_view_id"
    android:layout_height="wrap_content"
    android:layout_width="wrap_content"
    android:text="hello" />

 

 

글자 모양 설정하기

xml attributes 설명 예시
android:textSize 텍스트 크기 (ex. 18sp) android:textSize="18sp"
android:textColor 텍스트 색상 (ex. @color/black) android:textColor="@color/black"
android:textStyle 텍스트 스타일 (ex. normal , bold , italic) android:textStyle="italic"
android:textAllCaps 모든 문자 대문자로 설정하기 (ex. true/false) android:textAllCaps="true"
android:letterSpacing 글자 사이 간격 (ex. 0.3) android:letterSpacing="0.3"
android:fontFamily 글자 폰트 설정 (ex. monospace) android:fontFamily="monospace"
android:lineSpacingExtra 라인(줄) 사이의 여분 공간 (ex. 10dp) android:lineSpacingExtra="10dp"
android:lineSpacingMultiplier 라인(줄) 사이의 여분 공간으로 lineSpacingExtra 와는 별개로 적용된다. (ex. 1.2) android:lineSpacingMultiplier="1.2"

 

 

글자 라인, 수 제한

xml attributes 설명 예시
android:lines 글자 줄 제한 (ex. 1 - 1줄 까지만 글자가 보여진다.) android:lines="2"
android:maxLength 글자 수 제한 (ex. 3 - 3글자까지만 보여진다.) android:maxLength="3"
android:maxLines 최대 줄 제한 (ex. 3 - 0~3 줄까지만 글자가 보여진다.) android:maxLines="3"

 

 

글자 초과 시 모양 설정(adroid:ellipsize)

보여져야할 글자가 제한에 의해 전부 보여질 수 없을 때 보여주는 방법이다.

- start : 글자 맨 앞에  "..." 가 붙는다.
- end : 글자 맨 뒤에 "..." 가 붙는다.
- none : 잘려서 보인다.
- marquee : 글자가 자동으로 수평으로 스크롤되면서 회전한다.

 

+ marquee 속성을 사용할 때는 android:marqueeRepeatLimit 를 사용하여 몇 번 회전할지 설정할 수 있다. 또한, Activity 코드에서 isSelected 를 true 로 변경해야 회전하기 시작한다.

 

xml 파일)

<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity">

    <TextView
        android:id="@+id/tv"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Hello World!Hello WoWorld!Hello World  !Hello World! !Hello World! !Hello World!!"
        android:fontFamily="monospace"
        android:ellipsize="marquee"
        android:focusable="true"
        android:lines="1"
        android:marqueeRepeatLimit="marquee_forever"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent" />

</androidx.constraintlayout.widget.ConstraintLayout>

 

Activity 코드)

class MainActivity : AppCompatActivity() {
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)

        val id = findViewById<TextView>(R.id.tv)
        id.isSelected = true
    }
}

 

 

728x90