프로그래밍[Univ]/Android

[Android] 뷰 / 뷰그룹 / 위젯

Cloud Travel 2012. 1. 21. 21:15
* 개념

 - 뷰 : 사용자 눈에 보이는 화면을 구성하는 요소들
          여러개의 뷰가 하나의 Activity에 전개되어 하나의 화면을 이룬다.

 - 뷰그룹 : 여러개의 뷰를 포함하고 있는 것으로, 뷰를 유기적으로 묶어 놓은 것
    > 컴포지트 패턴을 따른다.(뷰가 모여 뷰그룹이 되며, 뷰그룹 또한 뷰로써 취급이 가능하다)

 - 위젯 : 컨트롤 역할을 하는 뷰, 사용자 Interface를 구성한다.


* 위젯에서 공통적으로 사용하는 속성
 
 ⓐ layout_width, layout_height
  - 위젯의 가로와 세로 크기를 지정한다.
  - fill_parent(=match_parent) : 부모의 크기와 동일하게 체운다.
  - wrap_parent : 현재 자신의 내용을 표시하는 최소영역을 차지한다.
  - 일반 상수값
   ※ 일반 상수값의 단위
    - px, dp, sp, in, mm, em 등이 있으며, dp를 가장 많이 사용한다.
     > dp는 해상도에 따라 크기가 자동으로 변화가 되기 때문에...(밀도당 크기 개념)

 ⓑ id
  - xml에 있는 뷰들은 에플리케이션 시작시 메모리상 객체로 잡힌다.(setContentView()메소드에 의해서...)
  - 위젯을 하나하나의 객체로 나눠주고, 사용자가 선택가능하게 해주는 값이 id이다.
     (findViewById()메소드에 의해서 선택 가능)  
  - R.id.[ID]형식으로 참조 >> findViewById(R.id.[id])

 ⓒ background
  - RGB format을 사용한다 ( #RGB, #ARGB > A는 투명도를 나타낸다 )
  - /res/drawable 폴도에 있는 그림을 사용할 수도 있다. 

 ⓓ padding(안쪽여백), margin(바깥 여백)
  - 웹에서 다루었단 패딩과 마진개념과 유사하므로 다른 페이지를 참조해주기 바란다.
  - padding, margin(4방향), paddingTop, marginTop(위), paddingBottom, marginBottom(아래),
    paddingRight, marginRight(오른쪽), paddingLeft, marginLeft(왼쪽) 등의 속성을 가지고 있다.

 ⓔ visibility (출력여부)
  - visible : 보이기, default
  - invisible : 숨겨지며 자리차지도 하는 것
  - gone : 숨겨지며 자리차지를 안하는 것

 ⓕ focusable (키보드 focus 가능 여부) 
  - true : default / false

 ⓖ clickable / longClickable (클릭 및 롱클릭 사용 여부)
  - true / false