728x90
반응형
package kr.co.pets;
/*
수정하시오.
1) '좋아하는 안드로이드 버전은 어떤건가요?'
2) '시작함'을 스위치로 변경하시오.
3) '선택 완료' 대신에, 라디오버튼을 선택할 때마다 즉시 해당 이미지가 나오도록 변경하시오.
4) 버튼 2개 끝부분에 추가하시오.
- 종료 => 응용프로그램 종료
- 처음으로 => 초기화되고 처음화면이 나오게 함
*/
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
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.Switch;
import android.widget.TextView;
import android.widget.Toast;
public class MainActivity extends AppCompatActivity {
TextView textView1, textView2;
Switch switchAgree;
RadioGroup rGroup;
RadioButton[] radioArray = new RadioButton[3];
ImageView imagePet;
Button btnQuit, btnReturn;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
getSupportActionBar().setDisplayShowHomeEnabled(true);
getSupportActionBar().setIcon(R.drawable.ic_launcher);
setTitle("안드로이드 사진 보기");
//위젯을 변수에 대입
textView1 = findViewById(R.id.textViewSta);
switchAgree = findViewById(R.id.switchAgree);
textView2 = findViewById(R.id.textViewCho);
rGroup = findViewById(R.id.Rgroup);
radioArray[0] = findViewById(R.id.Rdo100);
radioArray[1] = findViewById(R.id.Rdo110);
radioArray[2] = findViewById(R.id.Rdo120);
btnQuit = findViewById(R.id.BtnQuit);
btnReturn = findViewById(R.id.BtnReturn);
imagePet = findViewById(R.id.imageView);
//Switch가 체크가 되면
switchAgree.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton compoundButton, boolean b) {
//체크되면 모두 보이도록 설정
if(switchAgree.isChecked() == true){
textView2.setVisibility(View.VISIBLE);
rGroup.setVisibility(View.VISIBLE);
imagePet.setVisibility(View.VISIBLE);
btnQuit.setVisibility(View.VISIBLE);
btnReturn.setVisibility(View.VISIBLE);
}else{
textView2.setVisibility(View.INVISIBLE);
rGroup.setVisibility(View.INVISIBLE);
imagePet.setVisibility(View.INVISIBLE);
btnQuit.setVisibility(View.INVISIBLE);
btnReturn.setVisibility(View.INVISIBLE);
}
}
});
//라디오 버튼을 클릭하면, 이미지 뷰를 변경시킴 ==> 배열로 처리함
final int[] draw = {R.drawable.q10, R.drawable.r11, R.drawable.s12};
for(int i=0; i<radioArray.length;i++){
final int index;
index = i;
radioArray[index].setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
imagePet.setImageResource(draw[index]);
}
});
}
//종료 버튼 클릭
btnQuit.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
finish();
}
});
//처음으로 버튼 클릭
btnReturn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
textView2.setVisibility(View.INVISIBLE);
rGroup.setVisibility(View.INVISIBLE);
imagePet.setVisibility(View.INVISIBLE);
btnQuit.setVisibility(View.INVISIBLE);
btnReturn.setVisibility(View.INVISIBLE);
rGroup.clearCheck();
switchAgree.setChecked(false);
}
});
}
}
<?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="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical"
android:padding="20dp"
tools:context=".MainActivity">
<TextView
android:id="@+id/textViewSta"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="선택을 시작하겠습니까?"
android:textSize="20dp" />
<Switch
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/switchAgree"
android:layout_weight="1"
android:text="시작함" />
<TextView
android:id="@+id/textViewCho"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="선택을 시작하겠습니까?"
android:textSize="20dp"
android:visibility="invisible"/>
<RadioGroup
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/Rgroup"
android:layout_weight="1"
android:visibility="invisible">
<RadioButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/Rdo100"
android:text="Q(10.0)"/>
<RadioButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/Rdo110"
android:text="R(11.0)"/>
<RadioButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/Rdo120"
android:text="S(12.0)"/>
</RadioGroup>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/BtnQuit"
android:layout_weight="1"
android:text="종료"
android:visibility="invisible"/>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/BtnReturn"
android:layout_weight="1"
android:text="처음으로"
android:visibility="invisible"/>
<ImageView
android:layout_width="256dp"
android:layout_height="256dp"
android:id="@+id/imageView"
android:layout_weight="1"
android:visibility="invisible"/>
</LinearLayout>
<결과 출력>
728x90
반응형
'App > Android Java' 카테고리의 다른 글
Android_Java(9) - DateTimeApp (0) | 2022.02.08 |
---|---|
Android_Java(8) - CalcuWithTableLayout (0) | 2022.02.07 |
Android_Java(6) - VolumeControlView (0) | 2022.02.07 |
Android_Java(5) - MyViewEvent (0) | 2022.02.07 |
Android_Java(4) - RatingBarApp (0) | 2022.02.07 |
댓글