1. 버튼 입력

Isaiah IM·2023년 3월 30일
0

android programming

목록 보기
2/2

main activity code:

package org.basic.basicbtn

import android.os.Bundle
import android.widget.Button
import android.widget.TextView
import androidx.appcompat.app.AppCompatActivity

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

        val text: TextView = findViewById(R.id.text_btnState)// 홀짝 텍스트 창
        text.text= "시작"// 초기 텍스트

        val countState: TextView = findViewById(R.id.text_btnCnt)// 버튼 누른 횟수 표시하는 창
        countState.text= "클릭 횟수: 0"

        val btn: Button=findViewById(R.id.btn)// 카운트 버튼
        var clickCnt=0// 카운트 변수

        btn.setOnClickListener {// 버튼이 눌렸을때
            clickCnt++
            countState.text ="클릭 횟수: " + clickCnt.toString()

            if(clickCnt%2 == 1){// 홀짝 구분
                text.text= "홀"
            } else{
                text.text= "짝"
            }
        }

        val reset: Button=findViewById(R.id.btn_reset)// 리셋 버튼
        reset.setOnClickListener {
            clickCnt=0
            countState.text ="클릭 횟수: " + clickCnt.toString()
            text.text= "시작"
        }

    }
}

안드로이드에서는 id를 통해 버튼, 텍스트에 접근할 수 있다. 이때, id를 접근하기 위해서는 먼저, 변수를 선언해 val 변수명: 변수타입 형태로 선언을 한다. 이때, 변수타입은 text, button 등 다양한 타입이 있는것으로 보인다.
다음으로, 변수를 선언했으면 findViewById()라는 함수를 이용해 텍스트, 버튼 등의 고유id를 입력해 해당 버튼, 텍스트 등에 접근해서 제어할 수 있다.

버튼이 눌렸을때의 이벤트는 버튼.setOnClickListener이벤트를 통해 버튼이 눌렸을 상황에 맞는 코드를 작성할 수 있다.

화면 code

<?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:id="@+id/btn_cnt_reset"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity">

    <Button
        android:id="@+id/btn"
        android:layout_width="151dp"
        android:layout_height="93dp"
        android:text="버튼쨩"
        android:textSize="20sp"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintHorizontal_bias="0.492"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent"
        app:layout_constraintVertical_bias="0.377" />

    <TextView
        android:id="@+id/text_btnState"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="hello"
        android:textSize="60sp"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintHorizontal_bias="0.498"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent"
        app:layout_constraintVertical_bias="0.144" />

    <TextView
        android:id="@+id/text_btnCnt"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="TextView"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintHorizontal_bias="0.498"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent"
        app:layout_constraintVertical_bias="0.554" />

    <Button
        android:id="@+id/btn_reset"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="숫자 초기화"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintHorizontal_bias="0.498"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent"
        app:layout_constraintVertical_bias="0.677" />
</androidx.constraintlayout.widget.ConstraintLayout>

화면 그래픽:

profile
나는 생각한다. 고로 나는 코딩한다.

0개의 댓글