Archives
Recent Posts
«   2024/10   »
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
Today
Total
관리 메뉴

안드로이드 개발자의 창고

[28일차 Android] TextView 본문

Computer/Android

[28일차 Android] TextView

Wise-99 2023. 6. 10. 03:48

 

 

 

출처 : 안드로이드 앱스쿨 2기 윤재성 강사님 수업 PPT

 

 

 

📖 TextView

  • 사용자에게 전달하고자 하는 문자열을 표시하는 View

주요 속성

속성 설명
text 표시할 문자열을 설정
textAppearance 미리 설정되어 있는 문자열 관련 셋팅
fontFamily 폰트, 코드를 통해 설정하는 것을 권장한다.(한글 때문)
typeface 폰트에서 지원을 한다면 serif, monospace 등을 설정할 수 있다.
textSize sp 단위의 글자 수
lineSpacingExtra 라인 간격
textColor 글자 색상
textStyle 볼드, 이탤릭, 모두 대문자 설정
textAlignment 정렬
alpha 투명도
lines 최대 줄 수, 생략하면 무한대로 설정된다.

 

 

 

예제 코드

activity_main.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout 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"
    android:orientation="vertical"
    tools:context=".MainActivity" >

    <TextView
        android:id="@+id/textView"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:lines="1"
        android:text="TextViewqweqweqweqweqweqweqweqweqweqweqweqweqweqwe"
        android:textAppearance="@style/TextAppearance.AppCompat.Large"
        android:textColor="@color/material_dynamic_primary70" />

    <TextView
        android:id="@+id/textView2"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="TextView"
        android:textAppearance="@style/TextAppearance.AppCompat.Large" />
</LinearLayout>

 

코드 리뷰

  •  android:lines="1"
    • 최대 줄 수를 1로 설정한다.
    • 문자열이 한 줄이 넘어가면 화면에서 벗어난 것처럼 표시된다.

 

 

 

MainActivity.kt

import android.graphics.Color
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import com.test.android10_textview.databinding.ActivityMainBinding

class MainActivity : AppCompatActivity() {

    lateinit var activityMainBinding: ActivityMainBinding

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)

        activityMainBinding = ActivityMainBinding.inflate(layoutInflater)
        setContentView(activityMainBinding.root)

        activityMainBinding.run {
            textView2.run{

                text = "안녕하세요"

                // setBackgroundColor(Color.RED)
                // setBackgroundColor(Color.rgb(0, 255, 191))
                setBackgroundColor(Color.argb(50,145,141,194))

                setTextColor(Color.RED)

                text= "문자열1"

                append("문자열2")
                append("문자열3")
            }
        }
    }
}

코드 리뷰

  • text = "안녕하세요"
    • textView2의 문자열을 "안녕하세요"로 설정한다.
  • setBackgroundColor(Color.RED)
    • Color에 기본으로 있는 RED라는 프로퍼티를 통해 뒷배경을 빨간색으로 설정한다.
  • setBackgroundColor(Color.rgb(0, 255, 191))
    • RGB(빛의 삼원색) 컬러의 코드 값을 이용하여 뒷배경색을 설정한다.
  • setBackgroundColor(Color.argb(50,145,141,194))
    • 투명도와 RGB(빛의 삼원색) 컬러의 코드 값을 이용하여 뒷배경색을 설정한다.
    • 맨 앞의 50이 투명도(%)이다.
  • setTextColor(Color.RED)
    • Color에 기본으로 있는 RED라는 프로퍼티를 통해 문자열을 빨간색으로 설정한다.
  • text= "문자열1"
    • textView2의 문자열을 "문자열1"로 초기화한다.
  • append("문자열2")
    • textView2의 문자열에 "문자열2"를 추가한다.

 

 

 

결과