Count Number기능구현

노지수·2022년 2월 3일
1

Count Number

간단한 숫자카운트 기능 구현.



기본적인 Button과 textView등 레이아웃을 잡는 과정.



	<TextView
            android:id="@+id/numberView"
            android:layout_width="360dp"
            android:layout_height="70dp"
            android:inputType="numberSigned"
            android:text="0"
            android:gravity="center"
            android:textSize="30sp"
            app:layout_constraintBottom_toBottomOf="parent"
            app:layout_constraintLeft_toLeftOf="parent"
            app:layout_constraintRight_toRightOf="parent"
            app:layout_constraintTop_toTopOf="parent" 
            app:layout_constraintVertical_bias="0.311"/>
    <Button
            android:text="-"
            android:layout_width="165dp"
            android:layout_height="60dp" 
            android:id="@+id/minusBtn"
            app:layout_constraintEnd_toEndOf="parent" 
            app:layout_constraintTop_toBottomOf="@+id/numberView"
            android:layout_marginTop="24dp" 
            android:layout_marginEnd="120dp"/>
    <Button
            android:text="set"
            android:layout_width="120dp"
            android:layout_height="50dp"
            android:id="@+id/btnSet"
            app:layout_constraintEnd_toEndOf="parent"
            app:layout_constraintBottom_toBottomOf="parent"
            app:layout_constraintStart_toEndOf="@+id/inputNum"
            app:layout_constraintHorizontal_bias="0.2"
            app:layout_constraintVertical_bias="0.609" 
            app:layout_constraintTop_toTopOf="parent"/>
    <Button
            android:text="reset"
            android:layout_width="360dp"
            android:layout_height="70dp" 
            android:id="@+id/resetBtn"
            app:layout_constraintStart_toStartOf="parent" 
            app:layout_constraintEnd_toEndOf="parent"
            app:layout_constraintTop_toBottomOf="@+id/numberView" 
            android:layout_marginTop="96dp"/>
    <EditText
            android:layout_width="210dp"
            android:layout_height="50dp"
            android:inputType="numberSigned"
            android:text="20"
            android:ems="10"
            android:id="@+id/inputNum"
            app:layout_constraintStart_toStartOf="parent"
            app:layout_constraintBottom_toBottomOf="parent"
            android:layout_marginStart="120dp"
            app:layout_constraintVertical_bias="0.61" 
            app:layout_constraintTop_toTopOf="parent"/>
    <Button
            android:text="+"
            android:layout_width="165dp"
            android:layout_height="60dp" 
            android:id="@+id/plusBtn"
            app:layout_constraintStart_toStartOf="parent" 
            android:layout_marginStart="120dp"
            app:layout_constraintTop_toBottomOf="@+id/numberView" 
            android:layout_marginTop="24dp"/>

레이아웃의 코드 모습

  • android:inputType="numberSigned"
    - 입력란에 정수형 숫자만 입력가능

  • android:textSize="30sp"
    - 글자 크기지정

  • android:gravity="center"
    - text문구를 가운데에 표기

  • "30sp / 30dp"
    - db : 어떤 디스플레이라도 크기고정 / sp : 디스플레이에 따라 크기변경

  • android:id="@+id/aaa"
    - 각 기능들 id값



buildFeatures{
        viewBinding true
}

binding을 사용하기 위해서 build.gradle(:app)에 코드 추가.



val binding by lazy {ActivityMainBinding.inflate(layoutInflater)}

override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(binding.root)
}

MainActivity에 binding을 사용할 코드 세팅



binding.plusBtn.setOnClickListener {	// 1번
    val num = binding.numberView.text.toString()
    binding.numberView.text = (Integer.parseInt(num)+1).toString()
}

binding.minusBtn.setOnClickListener {	// 2번
    val num = binding.numberView.text.toString()
    binding.numberView.text = (Integer.parseInt(num)-1).toString()
}

binding.resetBtn.setOnClickListener {	// 3번
    binding.numberView.text = "0"
}

binding.btnSet.setOnClickListener {		// 4번
    binding.numberView.text = binding.inputNum.text
}

1번코드('+' 버튼터치)

numberView라는 id값을 가진 TextView의 text를 String타입으로 전환해서 num에 저장
버튼 클릭시 Int형으로 전환된 num에 1을 더해서 String타입으로 바꿔서 화면에 띄워줌
(num은 새롭게 띄워진 값으로 바뀜)

2번코드('-' 버튼터치)

	numberView라는 id값을 가진 TextView의 text를 String타입으로 전환해서 num에 저장
버튼 클릭시 Int형으로 전환된 num에 1을 빼서 String타입으로 바꿔서 화면에 띄워줌
(num은 새롭게 띄워진 값으로 바뀜)

3번코드('reset' 버튼터치)

numberView라는 id값을 가진 TextView의 text를 0으로 바꿔서 띄우기

4번코드('set' 버튼터치)

numberView라는 id값을 가진 TextView의 text를 inputNum라는 id값을 가진 EditText의
입력된 값으로 바꿔서 띄우기
profile
프로그래밍, 개념 및 이론 기록

0개의 댓글