반응형
안녕하세요. 훈츠 입니다. 안드로이드 Radio 버튼 과 Check 박스버튼을 조작하는 기본적인 방법에 대해 포스팅 합니다.
라디오 버튼 (Radio button) : RadioGroup.
그림과 같이 라디오 그룹안에 라디오 버튼을 넣는 방식으로 구성 가능합니다. 라디오 버튼 뿐만 아니라, 안드로이드에서 제공 해주는 View를 사용 할때 어떤 리스너를 상속받아야 하는지 아는것도 중요합니다.
- 라디오 그룹 아이디 할당
- 라디오 버튼 아이디 각각 할당
- 익명객체에 RadioGroup 상속
// 아래와 같이 옵저버 패턴에 익명 함수를 통해서 익명 클래스를 구현하여 사용 할수있습니다.
colorOptionGroup.setOnCheckedChangeListener(object : RadioGroup.OnCheckedChangeListener{
override fun onCheckedChanged(group: RadioGroup?, checkedId: Int) {
when(checkedId){
R.id.redOption -> {txtPreView.setTextColor(Color.RED)}
R.id.blueOption -> {txtPreView.setTextColor(Color.BLUE)}
R.id.yellowOption -> {txtPreView.setTextColor(Color.YELLOW)}
}
}
})
옵저버 패턴
https://rain2002kr.tistory.com/80?category=361958
[Kotlin] 코틀린 옵저버 패턴 리스너
안녕하세요. 훈츠 입니다. 오늘은 코틀린에서 광범위하게 사용되는 옵저버 패턴을 구현 하는 방법에 대해 설명 드리겠습니다. 옵저버 패턴을 구현하는 방법은 두가지 입니다. 한가지는 인터페이스를 상속하는 방법..
rain2002kr.tistory.com
체크 박스 (CheckBox) : CompoundButton.
체크 박스는 CompoundButton 을 상속 하면 되고, text에 setTypeface 를 통해서 색상과 진하기 혹은 이탤릭에 대한 옵션을 설정 할수 있습니다.
- textView.setTypeface(null, option)
- textView.setTextColor(Color.RED)
// 진하게, 이탤릭 옵션
override fun onCheckedChanged(buttonView: CompoundButton?, isChecked: Boolean) {
var option = 0
if(checkBox.isChecked) { option += BOLD }
if(checkBox2.isChecked) {option += ITALIC }
txtPreView.setTypeface(null, option)
}
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
// 체크 박스에 리스너 연결
checkBox.setOnCheckedChangeListener(this)
checkBox2.setOnCheckedChangeListener(this)
//라디오 그룹에, 색상 바꾸기
colorOptionGroup.setOnCheckedChangeListener(object : RadioGroup.OnCheckedChangeListener{
override fun onCheckedChanged(group: RadioGroup?, checkedId: Int) {
when(checkedId){
R.id.redOption -> {txtPreView.setTextColor(Color.RED)}
R.id.blueOption -> {txtPreView.setTextColor(Color.BLUE)}
R.id.yellowOption -> {txtPreView.setTextColor(Color.YELLOW)}
}
}
})
출력 화면
'안드로이드 프로그래밍[Kotiln Code] > 안드로이드 초기 강좌' 카테고리의 다른 글
[안드로이드] 스피너2 (콤보박스) with 모델클래스 (0) | 2020.04.09 |
---|---|
[안드로이드] 스피너 (콤보박스) (0) | 2020.04.09 |
[안드로이드] Image View 이미지 뷰 (0) | 2020.04.06 |
[안드로이드] View 조작하기 (0) | 2020.04.04 |
[안드로이드] 레이아웃 (0) | 2020.04.03 |