AndroidStudio

[안드로이드스튜디오] 뷰와 기본 위젯

랄라릿요 2020. 5. 17. 00:29

액티비티(Activity)란?

- 응용 프로그램을 구성하는 주요 단위

- 하나의 UI를 구성하는 기본 단위 -> 한 응용 프로그램은 다수의 액티비티를 가질 수 있다.

- 여러 개의 뷰가 모여 하나의 액티비티를 구성

 

뷰(View)란?

- UI를 구성하는 핵심 컴포넌트

- 사각영역에 자신의 모양을 나타냄

- 파생 뷰들을 이용해 다양한 기능을 제공

뷰(View)의 종류

- 위젯 (컨트롤) : 직접적으로 보이면서 UI를 구성

android.view.View의 서브 클래스

- 뷰 그룹 (레이아웃) : 직접적으로 보이진 않지만, 다른 뷰를 자식으로 갖는 컨테이너 역할

ViewGroup의 파생 클래스

최상위 뷰(View)의 속성

  • id : 뷰 참조시 사용
  • layout_width, layout_height : 뷰의 폭과 너비 지정
    • 속성값
      • match_parent :  부모 크기에 맞춤
      • wrap_content : 내용물 크기만큼 채움
  • background  : 뷰의 배경을 어떤 색으로 채울 것인가
  • padding : 뷰와 내용물간의 내부 여백 지정
    •  layout_margin : 외부 여백 지정
  • visibility : 뷰의 표시 여부 지정
    • 속성값
      • visible : 보이는 상태
      • invisible : 자리를 차지하며 숨긴 상태
      • gone : 자리를 차지하지 않으며 숨긴 상태

 

기본 위젯

눈에 직접 보이고 사용자와 상호작용함 

기본위젯 종류

  • TextView

    • 텍스트를 출력하는 위젯
    • 속성
      • text : 출력할 문자열 지정
      • textColor : 색상 지정
      • textSize : 글꼴의 크기 지정 (단위 : sp, dp..)
      • textStyle : 글꼴 스타일 지정 
        • normal, bold, italic
      • typeface : 글꼴 유형 지정
        • normal, sans(고딕), serif(명조체), monospace(고정 폭 글꼴) 
      • maxLines : 출력할 텍스트의 최대 줄 수 지정
      • ellipsize : maxLines와 조합해 사용, 줄의 초과 내용 정리, 말줄임표 위치 조절
        • 속성값
          • start : 말줄임표 처음으로
          • middle : 말줄임표 가운데로
          • end : 말줄임표 끝으로
          • none : 말줄임표 없음
      • gravity : TextView 영역 내에서 텍스트 내용의 중력 방향 결정
        • cf) layout_gravity 속성 : 자신을 컨테이너 어느 영역에 지정할 것이지를 결정
      • singleLine : true값 설정시, 단말기 방향에 상관없이 무조건 한 줄에 배치, 말줄임표 표시
  • Button

    • 사용자의 터치 동작으로 명령을 내리는데 사용
    • onClick 속성으로 이벤트 핸들러 함수 지정
    • CompundButton은 check/unCheck 두가지 상태 가짐
  • EditText

    • 사용자로부터 텍스트를 입력받을 수 있는 위젯
    • 속성
      • inputType : 입력되는 문자열 제한, 입력시 사용되는 소프트웨어 입력기의 자판 변경
        • 속성값
          • none : 모든 문자 입력가능, 줄바꿈 가능
          • text : 모든 문자 입력 가능, 줄바꿈 불가능
          • textMultiLine : 여러 줄 입력 가능
          • number : 키보드의 숫자 입력 모드
          • phone : 전화번호 입력모드
      • Lines : 처음 보여질 입력창의 최대 줄 수
      • maxLines : 초기엔 한 줄로 보이지만 확장 가능한 최대 줄 수
      • hint : 입력 전에 보여지는 입력 내용에 대한 힌트 
      • textColorHint : 힌트 글자의 색상 변경'
      • focusable : 사용자의 입력을 통해 텍스트 내용의 변경 가능 여부 설정
        • 속성값 false일 경우, 입력할 수 없는 EditText
      • enabled : 해당 뷰의 활성화 여부 설정
        • 속성값 false일 경우, 사용자의 입출력 기능을 막아버림 (해당 위젯을 사용하지 않음), 연한 글씨료 표현
  • ImageView

    • 아이콘이나 이미지 파일을 출력하는 위젯
    • png, jpg, gif등의 포맷 지원
    • 속성
      • src : 출력할 이미지 지정
      • adjustViewbounds : 축소된 원본 이미지로 ImageView 크기를 조정할지 여부 설정
      • maxHeight, maxWidth : ImageView영역에 그려질 이미지의 최대 크기 지정
      • scaleType : 이미지의 확대, 축소 방식을 지정
      • cropToPadding : 이비지 일부를 자를지 여부 결정
      • tint : 이미지에 색조 입힘
      • baseLineAlignBottom, baseLine : 원하는 위치에 정렬 기준선 설정