Android Widget 기초 (2)
2023. 1. 4. 00:02ㆍ교내활동/Programming GURU2
반응형
- EditText
- 값을 입력받은 후 해당 값을 Kotlin 코드에서 가져와 사용하는 용도로 많이 쓰임
<EditText android:id="@+id/edittext1">
- 속성
- hint
- 클릭하면 사라지는 미리보기를 작성할 수 있음
- inputType
- 속성에 입력되는 옵션에 따라 키보드 모양이 바뀜
- [number] : 숫자 형식
- [numberPassword] : 숫자로만 구성된 비밀번호 이름
- [phone] : 전화번호 형식
- [date] : 날짜 형식
- [textUri] : URI 형식의 문자 입력
- [textEmailAdress] : email 주소 형식의 문자 입력
- [textPassword] : 비밀번호 입력
- [textVisiblePassword] : 비밀번호를 문자열 그대로 표시
- hint
- 버튼을 클릭했을 때 동작 단계
- 에디트 텍스트 변수를 선언하고 이 변수에 해당 id값을 넣은 후 접근
- 에디트 텍스트 변수 선언 : var myEdit:EditText
- 변수에 에디트 텍스트 위젯 대입 : myEdit = findViewById(R.id.edittext)
- 에디트 텍스트에 입력된 값 가져오기(버튼 클릭 이벤트 람다식 안에 넣음) : var myStr: String = myEdit.getText().toString()
- 대부분의 위젯(라디오버튼, 이미지버튼, 체크박스, 토글버튼 등)에서 거의 동일하게 사용됨
- CompoundButton 클래스
- Button 클래스의 하위 클래스로 체크박스, 라디오버튼, 스위치, 토글버튼의 상위 클래스임
- CheckBox
- 클릭할 때마다 상태가 체크/언체크로 바뀜
- 여러개의 체크박스가 있어도 서로 독립적으로 동작하여 여러개를 동시에 체크할 수 있음
- 체크와 언체크 시 코드 처리 절차
- 체크박스 변수 선언 -> var mycheck : CheckBox
- 변수에 체크박스 위젯 대입 -> mycheck = findViewById(R.id.android)
- 체크박스가 변경될 때 동작하는 람다식 정의 -> mycheck.setOnCheckedChangeListener{ compoundButton, b-> // 동작 내용 }
- Switch, ToggleButton
- 스위치와 토글 버튼은 모양만 조금 다를 뿐 용도는 거의 동일
- 주 용도는 온오프 상태 표시
- XML 속성이나 관련 메소드는 모두 체크박스와 동일하게 사용 가능
- checked 속성은 true와 false에 따라 색상과 글자가 다르게 표현
- RadioGroup, RadioButton
- 라디오 그룹
- ViewGroup-LinearLayout의 하위 클래스로 존재
- TextView 하위의 위젯들과는 성격이 조금 다름
- RadioGroup에서 가끔 사용되는 메소드인 clearCheck()
- 해당 라디오 그룹 안에 체크된 것을 모두 해제함
- 라디오버튼
- XML 속성이나 메소드가 체크박스와 거의 동일하지만 용도가 다름
- 여러개 중 하나만 선택해야 하는 경우 사용
- 라디오버튼만 여러개 나열하면 클릭하는 것마다 모두 중복 선택되므로 라디오 그룹과 함께 사용
- 각 라디오벅튼의 id 속성이 꼭 있어야 함 -> id 속성이 없으면 해당 라디오버튼이 계속 선택된 것으로 지정되어 해제되지 않음
- 라디오 그룹
- Toast 메세지
- 화면 하단부에 잠시 보여주는 메세지
- Toast.makeText(Context context, String message, int duration).show()
반응형
'교내활동 > Programming GURU2' 카테고리의 다른 글
Android DB 기초 (0) | 2023.01.17 |
---|---|
Android Widget 기초 (3) (0) | 2023.01.04 |
Android Widget 기초 (1) (0) | 2023.01.04 |
Android layout 기초 (3) (0) | 2023.01.02 |
Android layout 기초 (2) (0) | 2023.01.02 |