GURU/AndroidStudio

[AndroidStudio] 애완동물 사진 보기 앱 만들기

myejinni 2022. 7. 16. 17:30

실습 4-02 : 애완동물 사진 보기 앱 만들기

 

기능

  • 시작함에 체크하면 좋아하는 애완동물 세 가지 중 하나를 선택하라는 내용이 나옴
  • 선택 후 선택완료 버튼을 클릭하면 해당 애완동물의 이미지가 나옴

 

<activity_main.xml>

<?xml version="1.0" encoding="utf-8"?>
<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"
    android:padding="20dp"
    tools:context=".MainActivity">

    <TextView
        android:id="@+id/Text1"
        android:text="선택을 시작하시겠습니까?"
        android:textSize="20sp"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
         />

    <CheckBox
        android:id="@+id/ChkAgree"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="시작함"/>

    <TextView
        android:id="@+id/Text2"
        android:text="좋아하는 반려동물은?"
        android:visibility="invisible"
        android:textSize="20sp"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        />

    <RadioGroup
        android:id="@+id/Rgroup1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:visibility="invisible">

        <RadioButton
            android:id="@+id/RdoDog"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="강아지"/>

        <RadioButton
            android:id="@+id/RdoCat"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="고양이"/>

        <RadioButton
            android:id="@+id/RdoRabbit"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="토끼"/>
    </RadioGroup>

    <Button
        android:id="@+id/BtnOK"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="선택완료"
        android:visibility="invisible"/>

    <ImageView
        android:id="@+id/imgPet"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:visibility="invisible"/>

</LinearLayout>

 

<MainActivity.kt>

package com.example.a4_02

import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import android.widget.*

class MainActivity : AppCompatActivity() {

    lateinit var text1 : TextView
    lateinit var text2 : TextView
    lateinit var chkAgree : CheckBox
    lateinit var rGroup1 : RadioGroup
    lateinit var rdoDog : RadioButton
    lateinit var rdoCat : RadioButton
    lateinit var rdoRabbit : RadioButton
    lateinit var btnOK : Button
    lateinit var imgPet : ImageView


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

        title="반려동물 사진 보기"

        text1=findViewById(R.id.Text1)
        chkAgree=findViewById(R.id.ChkAgree)

        text2=findViewById(R.id.Text2)
        rGroup1=findViewById(R.id.Rgroup1)
        rdoDog=findViewById(R.id.RdoDog)
        rdoCat=findViewById(R.id.RdoCat)
        rdoRabbit=findViewById(R.id.RdoRabbit)

        btnOK=findViewById(R.id.BtnOK)
        imgPet=findViewById(R.id.imgPet)

        chkAgree.setOnCheckedChangeListener{ buttonView, isChecked ->
            if (chkAgree.isChecked==true){
                text2.visibility=android.view.View.VISIBLE
                rGroup1.visibility=android.view.View.VISIBLE
                btnOK.visibility=android.view.View.VISIBLE
                imgPet.visibility=android.view.View.VISIBLE
            }
            else{
                text2.visibility=android.view.View.INVISIBLE
                rGroup1.visibility=android.view.View.INVISIBLE
                btnOK.visibility=android.view.View.INVISIBLE
                imgPet.visibility=android.view.View.INVISIBLE
            }
        }

        btnOK.setOnClickListener{
            when(rGroup1.checkedRadioButtonId){
                R.id.RdoDog->imgPet.setImageResource(R.drawable.dog)
                R.id.RdoCat->imgPet.setImageResource(R.drawable.cat)
                R.id.RdoRabbit->imgPet.setImageResource(R.drawable.rabbit)
                else -> Toast.makeText(applicationContext,"동물 먼저 산택하세요", Toast.LENGTH_SHORT).show()
            }
        }
    }
}

 

<실행결과>

'GURU > AndroidStudio' 카테고리의 다른 글

[AndroidStudio] 실전 프로젝트 : 스톱워치  (0) 2022.07.20
[AndroidStudio] 산토끼 imageView  (0) 2022.07.16
[AndroidStudio] imageView  (0) 2022.07.16
[AndroidStudio] RadioButton  (0) 2022.07.15