상세 컨텐츠

본문 제목

[안드로이드 코틀린] 텍스트뷰 TextView 동적으로 생성하는 방법

안드로이드

by aries574 2022. 7. 31. 15:37

본문


이번 시간에는 텍스트뷰(TextView)를 코드를 통해 동적으로 생성하는 방법을 알아보겠습니다. 


목차

1. 실행 화면
2. 메인 화면 activity_main.xml
3. 메인 코드 MainActivity.kt


1. 실행 화면

 


2. 메인 화면 activity_main.xml

- 설명 -

1. 텍스트뷰를 동적으로 만들어 보여줄 LinearLayout

2. 텍스트뷰를 동적으로 만들어줄 Button

<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">

    <LinearLayout
        android:id="@+id/listView"
        android:layout_width="match_parent"
        android:layout_height="50dp"
        android:background="#9DCFFF"
        android:orientation="horizontal"/>

    <Button
        android:id="@+id/createTextBtn"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="텍스트뷰 동적 생성"/>
</LinearLayout>

 


3. 메인 코드 MainActivity.kt

- 설명 -

1.  TextView(applicationContext)

  텍스트뷰 생성

2. textViewNm.setText

  텍스트뷰 문자 생성

3. textViewNm.textSize

  텍스트뷰 글자 크기 설정

4. textViewNm.setTypeface

  텍스트뷰 글자 타입 설정

5. textViewNm.id

  텍스트뷰 아이디 설정

6. LinearLayout.LayoutParams

  레이아웃 설정

7. param.marginStart 

  margin 설정

8. textViewNm.layoutParams

  레이아웃 설정

9. textViewNm.setBackgroundColor

  텍스트뷰 배경 색상 설정

10. listView.addView

  레이아웃에 텍스트뷰 적용

class MainActivity : AppCompatActivity(){

    lateinit var listView: LinearLayout

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

        listView = findViewById(R.id.listView)

        //버튼 이벤트
        val createTextBtn: Button = findViewById(R.id.createTextBtn)

        //텍스트뷰 동적 생성 버튼
        createTextBtn.setOnClickListener {

            //텍스트뷰 생성
            createView()
        }
    }//onCreate

    private fun createView(){

        //1. 텍스트뷰 생성
        val textViewNm: TextView = TextView(applicationContext)

        //2. 텍스트뷰에 들어갈 문자 생성
        textViewNm.setText("텍스트 생성")

        //3. 텍스트뷰 글자 크기 설정
        textViewNm.textSize = 12f

        //4. 텍스트뷰 글자타입 설정
        textViewNm.setTypeface(null, Typeface.BOLD)

        //5. 텍스트뷰 ID 설정
        textViewNm.id = 0

        //6. 레이아웃 설정
        val param: LinearLayout.LayoutParams =
            LinearLayout.LayoutParams(LinearLayout.LayoutParams.WRAP_CONTENT,
                LinearLayout.LayoutParams.WRAP_CONTENT)

        //7. 텍스트뷰 margin 처리
        param.marginStart = 30

        //8. 설정한 레이아웃 텍스트뷰에 적용
        textViewNm.layoutParams = param

        //9. 텍스트뷰 배경색상 설정
        textViewNm.setBackgroundColor(Color.rgb(184, 236,184))

        //10. 생성 및 설정된 텍스트뷰 레이아웃에 적용
        listView.addView(textViewNm)
    }

}

2022.07.30 - [안드로이드] - [안드로이드 코틀린] TimePicker 내가 선택한 알람 시간 텍스트뷰에 보여주는 방법

 

[안드로이드 코틀린] TimePicker 내가 선택한 알람 시간 텍스트뷰에 보여주는 방법

이번 시간에는 TimePicker를 이용해서 시간을 선택하고 TextView에 보여주는 방법에 대하여 알아보겠습니다. 목차 1. 실행 화면 2. 메인 화면 activity_main.xml 3. 메인 코드 MainActivity 1. 실행 화..

aries574.tistory.com

 

2022.07.28 - [안드로이드] - [안드로이드 코틀린] Notification 간단한 알림 띄우기

 

[안드로이드 코틀린] Notification 간단한 알림 띄우기

이번 시간에는 Notification을 이용해서 상태 표시줄에 알림을 띄어주는 방법을 알아보겠습니다. 목차 1. 실행 화면 2. Notification 클래스 만들기 3. 메인 화면 구현 activity_main.xml 4. 메인 코..

aries574.tistory.com

2022.07.27 - [안드로이드] - [안드로이드 코틀린] DatePicker 달력 만드는 방법

 

[안드로이드 코틀린] DatePicker 달력 만드는 방법

이번 시간에는 DatePicker를 이용해서 달력 만드는 방법에 대하여 알아보겠습니다. 목차 1. 실행 화면 2. 메인 화면 구현 activity_main.xml 3. 메인 코드 구현 MainActivity.kt 1. 실행 화면 2. 메..

aries574.tistory.com

반응형

관련글 더보기

댓글 영역