728x90
반응형
시작화면
시작함 클릭시 나오는 화면
라디오박스 선택 혹은 선택완료 버튼 클릭시 변환
마지막 토끼
사진 저장 위치
java
package com.example.a2c_1005_5;
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.view.MotionEvent;
import android.view.View;
import android.widget.Button;
import android.widget.CheckBox;
import android.widget.CompoundButton;
import android.widget.ImageView;
import android.widget.RadioButton;
import android.widget.RadioGroup;
import android.widget.TextView;
public class MainActivity extends AppCompatActivity {
CheckBox check1;
TextView text1,text2;
RadioGroup radioGroup;
RadioButton rbtn1,rbtn2,rbtn3;
Button btn1;
ImageView image;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
setTitle("애완동물 사진보기");
check1 = findViewById(R.id.check1);
text1 = findViewById(R.id.text1);
text2 = findViewById(R.id.text2);
radioGroup = findViewById(R.id.radiogroup);
rbtn1 = findViewById(R.id.rbtn1);
rbtn2 = findViewById(R.id.rbtn2);
rbtn3 = findViewById(R.id.rbtn3);
btn1 = findViewById(R.id.btn1);
image = findViewById(R.id.image);
// 라디오 박스 클릭시마다 이미지 변경
radioGroup.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(RadioGroup radioGroup, int i) {
if(i == R.id.rbtn1)
{
image.setImageResource(R.drawable.dog);
}
else if(i == R.id.rbtn2)
{
image.setImageResource(R.drawable.cat);
}
else
{
image.setImageResource(R.drawable.rabbit);
}
}
});
// 선택완료 버튼을 클릭 하면 이미지 변경
btn1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
switch(radioGroup.getCheckedRadioButtonId())
{
case R.id.rbtn1 : image.setImageResource(R.drawable.dog);
break;
case R.id.rbtn2 : image.setImageResource(R.drawable.cat);
break;
case R.id.rbtn3 : image.setImageResource(R.drawable.rabbit);
break;
}
}
});
// onclick으로도 가능하다. ischeecked() 사용
check1.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton compoundButton, boolean b) {
if(b == true)
{
text2.setVisibility(View.VISIBLE);
radioGroup.setVisibility(View.VISIBLE);
btn1.setVisibility(View.VISIBLE);
image.setVisibility(View.VISIBLE);
}
else
{
text2.setVisibility(View.INVISIBLE);
radioGroup.setVisibility(View.INVISIBLE);
btn1.setVisibility(View.INVISIBLE);
image.setVisibility(View.INVISIBLE);
}
}
});
}
}
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"
tools:context=".MainActivity">
<TextView
android:id="@+id/text1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="30dp"
android:text="선택을 시작하겠습니까?"
android:textSize="24sp" />
<CheckBox
android:id="@+id/check1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="30dp"
android:text="시작함"
android:textSize="24sp" />
<TextView
android:id="@+id/text2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="30dp"
android:text="좋아하는 애완동물은?"
android:textSize="24sp"
android:visibility="invisible" />
<RadioGroup
android:id="@+id/radiogroup"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="30dp"
android:visibility="invisible">
<RadioButton
android:id="@+id/rbtn1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="20dp"
android:text="강아지"
android:textSize="24sp" />
<RadioButton
android:id="@+id/rbtn2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="20dp"
android:text="고양이"
android:textSize="24sp" />
<RadioButton
android:id="@+id/rbtn3"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="20dp"
android:text="토끼"
android:textSize="24sp" />
</RadioGroup>
<Button
android:id="@+id/btn1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="30dp"
android:text="선택 완료"
android:visibility="invisible" />
<ImageView
android:id="@+id/image"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="30dp"
android:visibility="invisible"
app:srcCompat="@drawable/dog" />
</LinearLayout>
728x90
반응형
최근댓글