사전캠프 8일차

김재현·2024년 2월 1일
post-thumbnail

오늘은 강의를 보면서 로또 번호 생성기를 만들어 보았다.
가장 먼저 화면 UI를 만들어 주었는데
저번 강의에서는 Pallete를 이용해서 button과 text를 조정했었는데 이번 강의에서는 코드를 통해 위치와 크기, 색깔 등을 조정해보았다.

button과 numberpicker를 생성해주었고

 <Button
        android:id="@+id/btn_add"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginStart="16dp"
        android:text="번호 추가하기"
        app:layout_constraintBottom_toBottomOf="@+id/iv_left"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintHorizontal_bias="0.5"
        app:layout_constraintStart_toEndOf="@+id/iv_left"
        app:layout_constraintTop_toTopOf="@+id/iv_left" />
<NumberPicker
       android:id="@+id/np_num"
       android:layout_width="wrap_content"
       android:layout_height="wrap_content"
       android:layout_marginTop="32dp"
       android:solidColor="#3F51B5"
       android:background="@color/white"
       app:layout_constraintEnd_toStartOf="@+id/iv_left"
       app:layout_constraintHorizontal_bias="0.5"
       app:layout_constraintHorizontal_chainStyle="packed"
       app:layout_constraintStart_toStartOf="parent"
       app:layout_constraintTop_toBottomOf="@+id/tv_title" />

(이미지는 BMI계산기때도 넣어보았기 때문에 생략했습니다!)

그리고 번호를 나타내는 LinearLayout을 생성해주었습니다.

<LinearLayout
        android:layout_width="match_parent"
        android:layout_height="80dp"
        android:layout_marginStart="10dp"
        android:layout_marginTop="32dp"
        android:layout_marginEnd="10dp"
        android:background="@drawable/bg"
        android:gravity="center"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toBottomOf="@+id/np_num">

그 다음은 숫자에 따라 공의 색이 다르기 때문에 5가지 공의 색을 만들어 주었습니다.

  • 1~10: yellow
  • 11~20: blue
  • 21~30: red
  • 31~40: gray
  • 41~50: green


drawble 폴더에 우클릭 후 new에서 file을 만들어 ![]

circle_color(원하는 색!)로 이름을 지정해 주었습니다.

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="oval"> //모양

    <solid //색 지정
        android:color="#2196F3"/>

    <size //크기
        android:width="44dp"
        android:height="44dp"/>
</shape>

코드를 통해 공의 이미지를 생성해주었고
로또 번호는 6개이기 때문에 6가지 TextView를 만들어 주었습니다.

<TextView
            android:id="@+id/tv_num1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_margin="5dp"
            android:background="@drawable/circle_blue"
            android:gravity="center"
            android:text="1"
            android:textColor="@color/white"
            android:textSize="18sp"
            android:textStyle="bold"
            android:visibility="gone"
            tools:visibility="gone" />

이렇게 만들어 준 뒤에 "자동 생성 시작" 버튼과 "초기화" 버튼만 만들면 UI는 완성되었습니다!
다음 TIL에서 기능 구현까지 완성시켜보겠습니다!
(중간에 에러때문에 다시 하느라 끝까지 완성을 못시켰습니다 ㅠㅠ)

0개의 댓글