<표현> 속성 메소드 개념
둘째마당 03-1
기본 위젯
TextView
- 화면에서 글자 보여주는 역할
- 화면 구성 시 가장 많이 사용하는 기본 위젯
- 속성
- text
- 텍스트뷰의 문자열 설정 가능 (문자열 없다면 차지 영역 알 수 없음)
- 작성 방법
- text 속성 값으로 직접 문자열 지정
- /app/res/valus/strings.xml 파일에 작성한 문자열 지정: 이 방법 더 권장 (레이아웃과 문자열 파일 구분하는 것이 더 good!)
- ex) 여러 언어 버전으로 XML 레이아웃 파일 만드는 것보다 strings.xml 파일을 언어별로 만드는 것이 더 효율적
- text속성에 "@string/변수명" 통해 참조
- textColor
- 텍스트뷰에서 표시하는 문자열의 색상 설정
- #AARRGGBB (A: Alpha, R: Red, G: Green, B: Blue)
- Alpha - FF: 투명하지 않음, 00: 투명, 88: 반투명
- textSize
- 텍스트뷰에서 표시하는 문자열의 크기(폰트 크기)
- dp, sp, px 단위 사용 가능; sp 단위 권장(단말 해상도에 따라 글자 크기 일정하게 보여줌)
- textStyle
- 텍스트뷰에서 표시하는 문자열의 스타일 속성 설정
- normal, bold, italic 등의 값 지정
- | 기호 통해 여러 개의 속성 값 지정 가능 (앞뒤 공백제거 필수)
- typeFace
- 텍스트뷰에서 표시하는 문자열의 폰트 설정
- normal, sans, serif, monospace 중 하나 지정(폰트 앱에 추가하여 폰트 설정 가능)
- maxLines
- 텍스트뷰에서 표시하는 문자열의 최대 줄 수 설정
- 한 줄만 표시하고 싶은 경우, 값 "1"로 설정
- ellipsize
- 입력 내용의 생략 부분 설정
- "none", "start", "middle", "end"
- autoLink=true
- 문서에 포함된 웹 주소, 이메일 주소를 링크 색상으로 표시하고 누르면 바로 접속 혹은 메일 편집기 띄워주는 기능
- lineSpacingMultiplier
- 줄 간격을 기본의 배수로 설정
- lineSpacingExtra
- 줄 간격 여유 값으로 설정
- text
- 코드
-
<TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:text="@string/person_name" android:textColor="#0000FF" android:textSize="40sp" android:textStyle="bold" android:typeface="serif"/>
Button
- 사용자가 클릭하면 클릭에 대한 반응을 하는 위젯
- OnClickListener 정의하여 버튼에 설정
- 텍스트뷰 상속하여 정의되어 있어 텍스트뷰의 속성 그대로 가짐
- 텍스트 없이 버튼 사용 원한다면, 태그 적용
- image 클릭 시 이전 버튼 클릭과 동일하게 적용
- 종류
- 기본 버튼
- 클릭 이벤트 처리
- 체크 박스
- 클릭 이벤트 처리, 상태 값 저장, 선택/해제 상태 표시 가능
- 누를 때마다 체크 상태 변화
- 라디오 버튼
- 클릭 이벤트 처리, 상태 값 저장, 선택/해제 상태 표시 가능
- 꼭 RadioGroup 먼저 추가하고 그 안에 RadioButton 추가해야함
- 다른 버튼 선택 시 선택하지 않은 라디오 버튼은 자동 해제
- 코드
-
<RadioGroup android:layout_width="wrap_content" android:layout_height="wrap_content" android:orientation="horizontal"> <RadioButton android:layout_width="wrap_content" android:layout_height="wrap_content" android:text=""/> </RadioGroup>
- 클릭 이벤트 처리, 상태 값 저장, 선택/해제 상태 표시 가능
- 기본 버튼
- 속성
- text
- textColor
- textSize
- 메소드
- public boolean isChecked( ): 선택되어 있는지 확인
- public void setChecked(boolean checked): 체크 상태 지정
- void onCheckedChanged(CompoundButton buttonView, boolean isChecked): 버튼 상태 변화 여부 확인
EditText
- 입력상자 역할, 사용자에게 값 입력받을 때 사용
- 글자 입력하기 위해 커서 옮기면 키패드가 화면에 등장(한글, 영문, 숫자 등 문자 유형 다양)
- inputType 속성 통해 입력 문자의 유형 지정 가능
- 속성
- hint
- 기본 안내문의 hint 표시
- textColorHint
- hint 속성의 글자 색상 지정
- editable=false
- 문자열 편집 불가능
- hint
- 코드
<EditText
android:id="@+id/usernameInput"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textSize="24sp"
android:inputType="text"
android:hint="이름을 입력하세요"/>
- 커서 관련 속성
- selectAllOnFocus=true
- 포커스 받을 때, 문자열 전체가 선택됨: 전체 내용 수정 가능
- 대체 없이 이후에 추가하고 싶은 경우, 오른쪽 방향 키 누르고 입력
- cursorVisible=false
- 커서 보이지 않게 설정
- selectAllOnFocus=true
- 커서 관련 메소드
- public int getSelectionStart()
- 선택된 영역의 시작 위치 제공
- 선택 영역 없다면 현재 위치 알려줌
- public int getSelectionEnd()
- 선택된 영역의 끝 위치 제공
- 선택 영역 없다면 현재 위치 알려줌
- public void setSelection(int start, int stop)
- public void setSelection(int index)
- 선택 영역 지정
- public void selectAll()
- 전체 문자열 선택
- public void extendSelection(int index)
- 선택 영역 확장
- public int getSelectionStart()
- 문자열 변경 처리 속성
- getText()
- 입력된 문자, 입력 문자가 필요 포맷과 맞는지 확인
- Editable 객체 return
- toString()
- 일반 String 타입의 문자열 확인 가능
- toString()
- public void addTextChangedListener(TextWatcher watcher)
- TextWatcher 객체 설정
- 텍스트 변경 시 발생하는 이벤트 처리
- 메소드
- public void beforeTextChanged(CharSequence s, int start, int count, int after)
- public void afterTextChanged(Editable s)
- public void onTextChanged(CharSequence s, int start, int before, int count)
- setFilters()
- InputFilter 객체를 파라미터로 전달
- 입력된 문자열 길이 값 확인
- LengthFilter()
- 입력될 문자열의 길이 값 설정
- 메소드
- 텍스트 변경 시 발생하는 이벤트 처리
- TextWatcher 객체 설정
- getText()
ImageView, ImageButton
- 이미지를 화면에 표시할 때 사용하는 가장 간단한 위젯
- 이미지 파일은 app/src/main/res/drawable 폴더에 복사해 넣기
- 확장자는 JPG, PNG
- 속성
- app:srcCompat=@drawable/파일명: 필수 속성
- app/res/drawable 폴더에 저장한 이미지 지정: 이미지 리소스 지정 방식
- 이미지 파일명은 확장자 제외하고 작성
- android:src: 필수 속성
- maxWidth, maxHeight
- 이미지가 표시되는 최대 폭, 높이 설정
- 설정하지 않는다면, 원본 이미지 그대로 나타남
- 이미지 원본 너무 큰 경우, 최대 크기 제한 가능
- tint
- 이미지뷰에 보이는 이미지 색상 설정
- ##AARRGGBB 포맷으로 적용
- scaleType
- 이미지뷰 크기에 맞게 원본 이미지 크기 자동으로 확대/축소하여 보여줄 때 사용
- fitXY, centerCrop, centerInside 등 이미지 변환 알고리즘 미리 적용된 값 적절하게 사용 가능
- app:srcCompat=@drawable/파일명: 필수 속성
- drawable 폴더 제대로 사용하기
- 초고해상도
- app/res/drawable-xhdpi
- app/res/drawable-xxhdpi
- app/res/drawable-xxxhdpi
- 고해상도
- app/res/drawable-hdpi
- 중간 해상도
- app/res/drawable-mdpi
- 저해상도
- app/res/drawable-ldpi
- 초고해상도
- 코드
-
<ImageButton android:layout_width="50dp" android:layout_height="50dp" android:background="@drawable/ok_btn" android:contentDescription="ok button">
'Android ᙏ̤̫͚ > Android Programming' 카테고리의 다른 글
[Do it 안드로이드 프로그래밍] 둘째마당 03-3. 토스트, 프로그레스바 (0) | 2021.07.18 |
---|---|
[Do it 안드로이드 프로그래밍] 둘째마당 03-2. 드로어블, 이벤트 처리 (0) | 2021.07.17 |
[Do it 안드로이드 프로그래밍] 둘째마당 02. 레이아웃 (0) | 2021.07.08 |
[Do it 안드로이드 프로그래밍] 둘째마당 01. 뷰와 뷰의 크기 속성 이해하기 (0) | 2021.07.04 |
[Android] chapter 2 - 1 스크롤뷰 사용하기 (0) | 2021.02.27 |