정보를 보호하는 대학생
<안드로이드 스터디 05> 체크박스 -> 라디오버튼 -> 버튼 -> 선택에 따른 이미지 보여주기 본문
1. 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"
tools:context=".MainActivity"
android:orientation="vertical"
android:padding="20dp"
>
<TextView
android:id="@+id/Text1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="선택을 시작하시겠습니까?"
android:textSize="20sp"
/>
<CheckBox
android:id="@+id/ChkAgree"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="시작함"/>
<TextView
android:id="@+id/Text2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="좋아하는 애완동물은?"
android:textSize="20sp"
android:visibility="invisible"/>
<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>
2. 코틀린 코드
package com.android.myapplication
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import android.provider.MediaStore
import android.widget.*
import org.w3c.dom.Text
import java.sql.BatchUpdateException
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)
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 //텍스트2, 라디오그룹, 버튼, 이미지 모두 보이게 설정
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.rabbit)
R.id.RdoCat -> imgPet.setImageResource(R.drawable.rabbit)
R.id.RdoRabbit -> imgPet.setImageResource(R.drawable.rabbit)
else->Toast.makeText(applicationContext,"동물 먼저 선택하세요.", Toast.LENGTH_SHORT)
}
}
}
}
3. 결과 화면

'개발 > 안드로이드 스터디' 카테고리의 다른 글
<안드로이드 스터디 07> 비만도 계산기 - getPreferences(), 액티비티, 인텐트 (1) | 2022.01.15 |
---|---|
<안드로이드 스터디 06> 색깔 등록, 기본 어플 색깔 설정 바꾸기 (0) | 2022.01.14 |
<안드로이드 스터디 04> EditText 입력 후 버튼누르면 그대로 TextView 출력 (0) | 2022.01.07 |
<안드로이드 스터디 03> 라디오 버튼을 누르면 토스트 띄우기 (0) | 2022.01.06 |
<안드로이드 스터디 02> 체크박스를 누르면 토스트 띄우기 (0) | 2022.01.06 |