[안드로이드] 텍스트뷰(TextView) Kotlin 코드로 XML 속성 설정

U-G-1·2022년 7월 19일
0

안드로이드[Android]

목록 보기
6/9

🐰 activity_main.xml 파일에 TextView를 세개 생성해본다.

<?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/textView1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginTop="97dp"
        android:layout_marginBottom="65dp"
        android:text="TextView"
        app:layout_constraintBottom_toTopOf="@+id/textView2"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintHorizontal_bias="0.498"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent" />

    <TextView
        android:id="@+id/textView2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginBottom="72dp"
        android:text="TextView"
        app:layout_constraintBottom_toTopOf="@+id/textView3"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintHorizontal_bias="0.498"
        app:layout_constraintStart_toStartOf="parent" />

    <TextView
        android:id="@+id/textView3"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginBottom="440dp"
        android:text="TextView"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintHorizontal_bias="0.498"
        app:layout_constraintStart_toStartOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>

디자인 창에서는 다음과 같이 나타난다.


🐰 MainActivity.kt에서 코틀린 코드를 이용해 XML 속성을 변경해 줄 수 있다.

package com.example.textviewapp

import android.graphics.Color
import android.graphics.Typeface
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import android.widget.TextView

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

        var tv1 : TextView //변수 생성
        var tv2 : TextView
        var tv3 : TextView

        tv1 = findViewById(R.id.textView1) // 변수 지정
        tv2 = findViewById(R.id.textView2)
        tv3 = findViewById(R.id.textView3)

        tv1.setText("안녕하세요") // 텍스트 변경
        tv1.setTextColor(Color.RED) // 색 변경
        tv2.setTextSize(30.0f) // 크기 지정
        tv2.setTypeface(Typeface.SERIF, Typeface.BOLD_ITALIC) // 글꼴 지정
        tv3.text = "가나다라마바사아자차카타파하가나다라마바사아자차카타파하가나다라마바사아자차카타파하가나다라마바사아자차카타파하" //setText 사용 없이 원하는 값 전달
        tv3.setSingleLine() 


    }
}

AVD를 실행하면 다음과 같이 textView가 변경된 화면이 나타난다.

0개의 댓글