복습
안드로이드스튜디오 - 안드로이드 버전 고르기 본문
안드로이드 버전 고르기
- 스위치를 눌러 시작하면 텍스트 뷰와 라디오버튼, 버튼2개가 나오고 라디오 버튼을 누르게 되면 버튼에 따라 이미지가 출력된다. 종료를 누르면 어플이 종료되고, 처음으로를 누르면 스위치를 누르기 전 초기화면으로 돌아간다.
텍스트뷰, 스위치, 라디오그룹, 라디오버튼, 버튼을 사용하여 xml 작성
JAVA 코드
객체 생성 및 위젯 연결
public class MainActivity extends AppCompatActivity {
TextView text1, text2;
Switch chkAgree;
RadioGroup rGroup1;
RadioButton rOreo,rPie,rQ;
Button btnFin,btnRe;
ImageView imgAnd;
@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);
rOreo = (RadioButton)findViewById(R.id.Roreo);
rPie = (RadioButton)findViewById(R.id.Rpie);
rQ = (RadioButton)findViewById(R.id.RQ);
btnFin = (Button) findViewById(R.id.btnFin);
btnRe = (Button) findViewById(R.id.btnRe);
imgAnd = (ImageView) findViewById(R.id.ImgAnd);
- 사용한 위젯의 객체를 생성하고 onCreate메서드 안에서 findViewById메서드로 id를 이용하여 자바코드와 위젯을 연결한다
'시작함' 스위치 이벤트
chkAgree.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton compoundButton, boolean b) {
if(chkAgree.isChecked() == true){
text2.setVisibility(View.VISIBLE);
rGroup1.setVisibility(View.VISIBLE);
btnFin.setVisibility(View.VISIBLE);
btnRe.setVisibility(View.VISIBLE);
imgAnd.setVisibility(View.VISIBLE);
} else {
text2.setVisibility(View.INVISIBLE);
rGroup1.setVisibility(View.INVISIBLE);
btnFin.setVisibility(View.INVISIBLE);
btnRe.setVisibility(View.INVISIBLE);
imgAnd.setVisibility(View.INVISIBLE);
}
}
});
- onCheckedChanged()메서드를 이용하여 스위치가 눌러지면 아래의 텍스트, 라디오버튼, 버튼, 이미지뷰 등이 Visible 속성으로 바뀌게 하였다.
라디오 버튼 이벤트
rGroup1.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(RadioGroup radioGroup, int i) {
switch (rGroup1.getCheckedRadioButtonId()){
case R.id.Roreo:
imgAnd.setImageResource(R.drawable.oreo);
break;
case R.id.Rpie:
imgAnd.setImageResource(R.drawable.pie);
break;
case R.id.RQ:
imgAnd.setImageResource(R.drawable.q10);
break;
}
}
});
- onCheckedChanged() 메서드에서 switch문을 이용하여 getCheckedRadioButtonId()를 이용하여 라디오 버튼의 id에 따라 각각의 이미지가 출력되게 하였다.
- 라디오 버튼을 클릭하면 이미지뷰에 drawble폴더에 저장되어 있는 해당 사진들이 setImageResouce로 설정되어 화면에 출력된다.
종료, 리셋 버튼
btnFin.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
finish();
}
});
btnRe.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
text2.setVisibility(View.INVISIBLE);
rGroup1.setVisibility(View.INVISIBLE);
btnFin.setVisibility(View.INVISIBLE);
btnRe.setVisibility(View.INVISIBLE);
imgAnd.setVisibility(View.INVISIBLE);
rOreo.setChecked(false);
rPie.setChecked(false);
rQ.setChecked(false);
chkAgree.setChecked(false);
}
});
- OnClickListener를 이용하여 종료버튼을 누르면 finish()메서드를 호출하여 어플이 종료된다.
- 마찬가지로 처음으로 버튼을 누르면 스위치 아래의 텍스트,라디오버튼, 버튼 등이 INVISIBLE 속성으로 바뀌어 보이지 않게 되고 모든 라디오버튼이 체크가 해제된다.
- 마지막으로 스위치도 체크가 해제되어 처음의 화면으로 돌아간다.
'Android' 카테고리의 다른 글
안드로이드 스튜디오 - 자동완성텍스트뷰(멀티) (0) | 2020.07.06 |
---|---|
안드로이드 스튜디오 - 날짜/시간 예약 앱 만들기 (0) | 2020.07.06 |
안드로이드 스튜디오 - XML 없이 화면 코딩하기 (0) | 2020.07.02 |
레이아웃(Layout) - Linear, Relative, Grid, Table, Frame (0) | 2020.07.02 |
안드로이드스튜디오 - 계산기 (0) | 2020.07.01 |