안드로이드 응용 프로그램의 화면을 구성하는 주요 단위는 액티비티입니다.
뷰가 여러개가 모여서 액티비티 하나를 구성하게 됩니다.
이 액티비티가 여러개 모여서 응용프로그램이 되는것이죠.
뷰의 두가지
위젯: 직접적으로 보이며 사용자 인터페이스를 구성한다.버튼,텍스트뷰,에디트,라디오 버튼 등이 위젯이며 흔히 컨트롤이라고 한다.
뷰그룹: 직접적으로 보이지 않으며 다른 뷰를 담는 컨테이너 역할을 한다. 이름 그대로 여러개의 뷰를 유기적으로 모아 놓은 것이다.이그룹들의 클래스들을 레이아웃이라고 한다.
자주쓰는 Class
위젯:TextView,ImageView
뷰그룹: FrameLayout,RelativeLayout,LinearLayout
View속성
id
뷰를 칭하는 이름을 정의한다.ㅇ
@[+]id/ID
설명:
@기호는 id를 리소스(구체적으로 R.java)에 정의하거나 참조한다는 뜻이며 무조건 붙여야 한다.
+기호는 ID를 새로 정의 한다는 뜻인데 처음정의할 때만 붙이고 참조할 때는 붙이지 않는다.
소문자 id는 예약어이므로 그대로 쓰면 되고 '/'뒤에 원하는 이름을 작성한다.
ID는 고유한 명칭이므로 명칭 규칙에 맞아야 하며 뷰끼리 중복되어서는 안된다.
id는 뷰의 이름을 정의하는 중요한 속성이지만 모든 뷰에 id를 의무적으로 지정할 필요는 없다.
코드에서 참조할 필요가 없는 위젯은 보통 id를 생략한다.
layout_width,layout_height
뷰의 폭과 높이를 지정한다.뷰는 부모 뷰(또는 액티비티)안에 배치되는데 이 속성이 지정하는 만큼의 크기로 배치된다.
수평,수직 각 방향에 대해 크기를 지정할수 있으며 다음 세가지중 하나의 값을 가진다.
fill_parent: 부모의 주어진 크기를 다 채운다.
wrap_content: 내용물의 크기만큼만 채운다.
정수크기: 지정한 크기에 맞춘다.
단위: px,in,mm,pt,dp(또는 dip),sp(또는 sip)
논리단위로 사용하는 건이 호환성 확보에 유리
1dp는 160dpi일때 1픽셀에 해당한다.
background
뷰의 배경을 어떻게 채울것인가를 지정한다. 별다른 지정이 없으면 디폴트로 지정
padding
뷰와 내용물간의 간격을 지정한다.padding속성에 값을 지정하면 4방향에 대해 동일한 여백이 적용되며 paddingLeft,paddingTop,paddingRight,paddingBottom속성에 개별적으로 값을 지정해 각 변에 대해 서로 다른 여백을 줄수 있다.
visibility
뷰의 표시유무를 지정한다.
clickable,longClickable
마우스 클릭이벤트를 받을 것인지,롱클릭 이벤트를 받을 것인지를 지정한다. 클릭은 손가락으로 뷰를 누르는 것이며 롱클릭은 누른 채로 잠시 기다리는 것이다.진위형이므로 true또는 false둘중 하나의 값을 지정한다.