본문
[2017.09.16] 05. 각종 View와 ViewGroup
컴퓨터/이론: 안드로이드 2017. 9. 15. 17:30
안드로이드 안에서 사용 할 수 있는 각종 위젯들을 알아보고 실습해보자.
View는 사용자와 통신하기 위한 객체이다.
ViewGroup은 직접 보이지는 않으며 다른 View를 담는 컨테이너의 역할을 하는 View이다.
상속 관계는 아래 그림과 같다. (※ 상속 관계의 전부가 아닌 일부이다.)
여기서 뷰와 관련된 토글버튼, 라디오버튼, 체크박스, 프로그레바, 스위치 버튼, seek bar에 대해 실습할 예정이다.
실습
실습으로 아래와 같은 화면을 구상하고 실습할 예정이다.
- 토글 버튼1234567891011121314151617181920212223242526272829// 여러개의 리스너 설정 가능toggleButton.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View view) {switch (view.getId()) {case R.id.btnToggle:Toast.makeText(getApplicationContext(),"클릭 토글", Toast.LENGTH_LONG).show();break;}}});// Default는 'off'이고 클릭 여부는 falsetoggleButton.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {@Overridepublic void onCheckedChanged(CompoundButton compoundButton, boolean check) {switch (compoundButton.getId()) {case R.id.btnToggle:if (check)Toast.makeText(getApplicationContext(),"on 토글", Toast.LENGTH_LONG).show();elseToast.makeText(getApplicationContext(),"off 토글", Toast.LENGTH_LONG).show();break;}}});
cs - 체크 버튼1234567891011121314151617181920212223242526272829303132333435363738394041424344@Overrideprotected void onCreate(Bundle savedInstanceState) {// ...// 리스너 설정chk1.setOnCheckedChangeListener(onCheckedChangeListener);chk2.setOnCheckedChangeListener(onCheckedChangeListener);chk3.setOnCheckedChangeListener(onCheckedChangeListener);// ...}// 체크 버튼 리스너 선언CompoundButton.OnCheckedChangeListener onCheckedChangeListener= new CompoundButton.OnCheckedChangeListener() {@Overridepublic void onCheckedChanged(CompoundButton compoundButton, boolean check) {switch (compoundButton.getId()) {case R.id.chk1:if (check)Toast.makeText(getApplicationContext(),"checkBox1 seleced", Toast.LENGTH_LONG).show();elseToast.makeText(getApplicationContext(),"checkBox1 unseleced", Toast.LENGTH_LONG).show();break;case R.id.chk2:if (check)Toast.makeText(getApplicationContext(),"checkBox2 seleced", Toast.LENGTH_LONG).show();elseToast.makeText(getApplicationContext(),"checkBox2 unseleced", Toast.LENGTH_LONG).show();break;case R.id.chk3:if (check)Toast.makeText(getApplicationContext(),"checkBox3 seleced", Toast.LENGTH_LONG).show();elseToast.makeText(getApplicationContext(),"checkBox3 unseleced", Toast.LENGTH_LONG).show();break;}}};
cs - 라디오 버튼12345678910111213141516171819202122232425262728@Overrideprotected void onCreate(Bundle savedInstanceState) {// ...// 라디오 버튼 리스너 설정radioGroup.setOnCheckedChangeListener(radioListener);// ...}// 라디오 버튼 리스너 선언RadioGroup.OnCheckedChangeListener radioListener = new RadioGroup.OnCheckedChangeListener() {@Overridepublic void onCheckedChanged(RadioGroup radioGroup, @IdRes int i) {switch (i) {case R.id.radio1:Toast.makeText(getApplicationContext(),"radio1 seleced", Toast.LENGTH_LONG).show();break;case R.id.radio2:Toast.makeText(getApplicationContext(),"radio2 seleced", Toast.LENGTH_LONG).show();break;case R.id.radio3:Toast.makeText(getApplicationContext(),"radio3 seleced", Toast.LENGTH_LONG).show();break;}}};
cs - 스위치와 프로그래스바1234567891011121314151617181920212223@Overrideprotected void onCreate(Bundle savedInstanceState) {// ...// 스위치 버튼 리스너 설정mSwitch.setOnCheckedChangeListener(switchListener);// ...}// 스위치 버튼 리스너 선언CompoundButton.OnCheckedChangeListener switchListener= new CompoundButton.OnCheckedChangeListener() {@Overridepublic void onCheckedChanged(CompoundButton compoundButton, boolean check) {switch (compoundButton.getId()) {case R.id.mSwitch:if (check)progressBar.setVisibility(View.INVISIBLE);elseprogressBar.setVisibility(View.VISIBLE);break;}}};
cs - SeekBar123456789101112131415161718192021222324252627282930@Overrideprotected void onCreate(Bundle savedInstanceState) {// ...// SeekBar 리스너 설정seekBar.setOnSeekBarChangeListener(seekBarChangeListener);// ...}// SeekBar 리스너 선언SeekBar.OnSeekBarChangeListener seekBarChangeListener= new SeekBar.OnSeekBarChangeListener() {// SeekBar가 변경되었을 때 동작하는 메소드@Overridepublic void onProgressChanged(SeekBar seekBar, int current, boolean b) {seekBarResult.setText(current+"");}// SeekBar가 터치 되었을 때 동작하는 메소드@Overridepublic void onStartTrackingTouch(SeekBar seekBar) {}// SeekBar의 터치 떼었을 때 동작하는 메소드@Overridepublic void onStopTrackingTouch(SeekBar seekBar) {}};
cs
#view #view group #안드로이드 view #안드로이드 view group
'컴퓨터 > 이론: 안드로이드' 카테고리의 다른 글
[2017.09.18] 07. 커스텀뷰 개념 및 실습 (0) | 2017.09.18 |
---|---|
[2017.09.17] 06. 안드로이드 애니메이션 (0) | 2017.09.17 |
[2017.09.15] 04. Calculator 프로젝트 [괄호O - Stack 사용X] (0) | 2017.09.15 |
[2017.09.14] 03. Calculator 프로젝트 [괄호O - Stack 사용O] (6) | 2017.09.14 |
[2017.09.14] 02. Calculator 프로젝트 [괄호X] (0) | 2017.09.14 |
댓글