목록전체 글 (23)
layered
개념 - 화면에 있는 모든 구성 요소들(버튼, 텍스트 등등) - 직사각형의 영역을 차지한다 - 그리기 및 이벤트 처리를 담당 - 다른 뷰를 상속해서 속성을 그대로 사용할 수 있다 ex) TextView -> Button 텍스트 뷰 하나 가져다놓고 태그만 슬쩍 바꾸면 버튼이 된다 뷰 그룹(View Group) - 뷰들을 하나로 묶은 것 - 뷰 클래스를 상속했기 때문에 역시 뷰처럼 다룰 수 있다 - 뷰와 뷰 그룹의 관계는 여러 디자인 패턴 중 컴포지트 패턴으로, 뛰어난 확장성을 가진다 컴포지트 패턴(Composite Pattern): 객체들을 트리 구조로 묶은 것 위젯과 레이아웃 뷰와 뷰 그룹의 역할을 구분하기 위해 뷰의 종류에 따라 이름을 붙인다 - 위젯(Widget): 일반적인 컨트롤의 역할을 하는 뷰 ..
개념 박스 모델을 사용하는 레이아웃. 각각의 뷰를 박스라고 보고 한쪽 방향으로 쌓으면서 화면을 구성한다. 레이아웃 역시 뷰이므로 여러 레이아웃을 묶어서 사용할 수 있다. 따라서 가로 방향(Horizontal)으로 쌓을지, 세로 방향(Vertical)으로 쌓을지를 정하는 orientation 속성을 필수로 적어야 한다. 메모 순차적으로 화면을 구성하는 데에는 유용하지만, 자식 뷰들의 크기를 정하는 건 좀 경직된 것 같다. match_parent를 이용하면 자칫하다가 다른 뷰들을 다 가려버리기 때문에 wrap_content나 값을 직접 지정해야 하기 때문이다. 아, 그래서 layout_weight이 존재하는 것 같다(밑에 설명해 두었다)! 사실상 크기를 정한다기보다는 여유 공간을 분할해서 가져다 붙이는 느낌..
개념 프로젝트를 처음 만들 때의 기본적인 레이아웃으로, 뷰의 크기와 위치를 결정할 때 제약 조건을 사용한다. 제약 조건이란? 뷰가 레이아웃 안의 다른 요소와 어떻게 연결되는지 알려주는 것(= 연결선) 간단하게 말하자면 다음과 같이 연결선을 통해 뷰의 상대적 위치를 정해 줘야 한다는 것이다. 그리고 위치라는 건 언제나 x와 y로 이루어지므로, 가로나 세로 중 하나라도 연결되지 않은 부분이 있다면 에러가 발생한다. 특성 연결점: 말그대로 뷰들을 연결해 주는 점으로 위 사진의 파란 동그라미이다 핸들: 뷰의 크기를 조정한다(꼭짓점의 파란 네모) 타깃: 제약 조건이 가리키는 뷰. 여기서는 벽(...?) 타깃이 될 수 있는 것은 여러 가지가 있다. 1) 같은 레이아웃 내 다른 뷰 2) 부모 레이아웃 3) 가이드라인..