[직접 풀어보기 4-4]
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:padding="10dp"
android:orientation="vertical"
tools:context=".MainActivity">
<TextView
android:id="@+id/Text1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="선택을 시작하겠습니까?" />
<Switch
android:id="@+id/ChkAgree"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:checked="false" />
<TextView
android:id="@+id/Text2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:visibility="invisible"
android:text="좋아하는 안드로이드 버전은?" />
<RadioGroup
android:id="@+id/Rgroup1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:visibility="invisible">
<RadioButton
android:id="@+id/RdoO"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="오레오(8.0)" />
<RadioButton
android:id="@+id/RdoP"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="파이(9.0)" />
<RadioButton
android:id="@+id/RdoQ"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Q(10.0)" />
<RadioButton
android:id="@+id/RdoR"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="R(11.0)" />
</RadioGroup>
<ImageView
android:id="@+id/ImgShow"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:visibility="invisible" />
<Button
android:id="@+id/BtnQuit"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:visibility="invisible"
android:text="종료" />
<Button
android:id="@+id/BtnRe"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:visibility="invisible"
android:text="처음으로" />
</LinearLayout>
MainActivity.java
더보기
public class MainActivity extends AppCompatActivity {
TextView text1, text2;
Switch chkAgree;
RadioGroup rGroup1;
RadioButton rdoO, rdoP, rdoQ, rdoR;
ImageView imgShow;
Button btnQuit, btnRe;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
setTitle("안드로이드 사진 보기");
text1 = (TextView) findViewById(R.id.Text1);
chkAgree = (Switch) findViewById(R.id.ChkAgree);
text2 = (TextView) findViewById(R.id.Text2);
rGroup1 = (RadioGroup) findViewById(R.id.Rgroup1);
rdoO = (RadioButton) findViewById(R.id.RdoO);
rdoP = (RadioButton) findViewById(R.id.RdoP);
rdoQ = (RadioButton) findViewById(R.id.RdoQ);
rdoR = (RadioButton) findViewById(R.id.RdoR);
imgShow = (ImageView) findViewById(R.id.ImgShow);
btnQuit = (Button) findViewById(R.id.BtnQuit);
btnRe = (Button) findViewById(R.id.BtnRe);
chkAgree.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
if (chkAgree.isChecked()){
text2.setVisibility(View.VISIBLE);
rGroup1.setVisibility(View.VISIBLE);
imgShow.setVisibility(View.VISIBLE);
}else{
text2.setVisibility(View.INVISIBLE);
rGroup1.setVisibility(View.INVISIBLE);
imgShow.setVisibility(View.INVISIBLE);
btnQuit.setVisibility(View.INVISIBLE);
btnRe.setVisibility(View.INVISIBLE);
}
}
});
rGroup1.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(RadioGroup group, int checkedId) {
switch(rGroup1.getCheckedRadioButtonId()){
case R.id.RdoO:
imgShow.setImageResource(R.drawable.o);
btnQuit.setVisibility(View.VISIBLE);
btnRe.setVisibility(View.VISIBLE);
break;
case R.id.RdoP:
imgShow.setImageResource(R.drawable.p);
btnQuit.setVisibility(View.VISIBLE);
btnRe.setVisibility(View.VISIBLE);
break;
case R.id.RdoQ:
imgShow.setImageResource(R.drawable.q);
btnQuit.setVisibility(View.VISIBLE);
btnRe.setVisibility(View.VISIBLE);
break;
case R.id.RdoR:
imgShow.setImageResource(R.drawable.r);
btnQuit.setVisibility(View.VISIBLE);
btnRe.setVisibility(View.VISIBLE);
break;
default:
Toast.makeText(getApplicationContext(), "그림을 선택하세요", Toast.LENGTH_SHORT).show();
btnQuit.setVisibility(View.INVISIBLE);
btnRe.setVisibility(View.INVISIBLE);
}
}
});
btnQuit.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
finish();
}
});
btnRe.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
finish();
startActivity(new Intent(MainActivity.this, MainActivity.class));
}
});
}
}
- 초기화:
finish(); //이거 없으면 같은 앱이 중복으로 열리게 됨... 지워주고 열어야해서 finish(); 필수
startActivity(new Intent(MainActivity.this, MainActivity.class));
'DEVELOPMENT' 카테고리의 다른 글
[Android Studio] Chapter 5 직접 풀어보기 (0) | 2021.06.28 |
---|---|
[Android Studio] Chapter 4 연습문제 (0) | 2021.06.09 |
[Android Studio] 초간단 계산기 앱 만들기(직접 풀어보기) (0) | 2021.05.06 |
[Android Studio] 뷰, 위젯, 레이아웃 (0) | 2021.05.06 |
[Android Studio] 프로젝트 기본 구성 (0) | 2021.05.04 |