인터페이스?!-레이아웃
by 레오쏭 | 11.07.10 09:09 | 2,663 hit
이번시간엔 레이아웃에 대해 말씀 드리겠습니다.
저저번 시간에 아래와 같이 설명을 드렸습니다.
레이아웃은 5가지가 있으며 각각은 특징이 있습니다.
LinearLayout : 프로젝트 생성시 기본으로 설정된 레이아웃으로 위아래 좌우로 직석형태의 배치형태를 하고 있습니다.
RelativeLayout: 특정 객체를 기준으로 다른 객체의 위치를 결정합니다.
TableLayout: HTML의 <Table>태그와 비슷합니다.
FrameLayout: 가장 기본적 레이아웃이며 한번에 하나의 위젯만 출력할수 있습니다. 단독으로는 거의 쓰이지 않으며 여러 레이아웃과 조합해서 씁니다.
AbsoluteLayout: x,y좌표로 위젯의 위치를 정합니다. 그래서 사용하기가 쉽지만 핸드폰마다 해상도가 다르고 지원하는 액정의 사이즈가 다르므로 핸드폰에 따라 프로그램이 엉망이 될수 있습니다. 그래서 구글에서도 공식적으로 사용을 하지말아달라고 권고하고 있습니다. (FrameLayout과 RelativeLayout을 혼용하면 대체 가능하다고 팁을 주고 있습니다.)
하나씩 알아보죠.단 5번째인 AbsoluteLayout의 경우엔 구글에서도 쓰지말라고 공식적으로 말하고 있으므로 빼고 알아보겠습니다.
*LinearLayout


기본 생성되는 프로젝트에서 XML의 내용만 바꾸시면 됩니다. 여기서 중요한건 android:orientation인데
이것은 가로로 배치할것인지 세로로 배치할것인지를 정하는 것입니다.
다음은 width와 height는 너비와 높이를 어떻게 할것인지고 마지막의 weight가 중요한데요..이건 비율을 정해주는것입니다.
지금 전 위에서 3개의 뷰를 배치했고 이것의 비율은 2:1:2로 했습니다. 그래서 아래와 같은 결과가 나오는 것입니다.


*RelativeLayout


소스를 보면 android:layout_toRightOf="@id/label"이 있습니다. 이건 label이라는 id를 가진 뷰의 오른쪽에 위치하겠다는 뜻이며
Left는 왼쪽이고 below는 아래쪽입니다.ok버튼을 보시면 edit의 아래이면서 cancel의 왼쪽에 배치하기 위해 left도 사용했습니다.
이처럼 서로서로를 기준으로 배치 하고자 할때 Relative레이아웃을 사용합니다.


*TableLayout


테이블로우의 경우는 한줄을 지정해 주는 것입니다. 일단 위에 소스는 한줄만 추가한거구요...^^
가로와 새로의 배치된 뷰들의 간격이 일정한 경우에 쓰기 좋은 레이아웃입니다. 다이얼패드 같은거 말입니다..^^


*FrameLayout
마지막 레이아웃인 프레임 레이아웃입니다.
프레임 레이아웃은 왼쪽 상단을 기준으로 배치하는 레이아웃입니다..^^




수고하셨어요~^^
P.S.개인적인 일이 많아 연재가 느려지는데다가..좀 여유가 생겨 일주일정도 여행을 다녀올까 합니다~
모두 즐거운 여름시즌 되세요~^^


[이 게시물은 더어플님에 의해 2016-07-12 15:23:56 개발 꿀팁에서 복사 됨]
추천 4

댓글 1

oselis 2011.07.14 11:38
이제서야 공부를 시작하려고 하는데 님덕분에 많은도움이 되고 있네요 ^^

이거슨 꿀팁 다른 게시글

게시물 더보기

이거슨 꿀팁 인기 게시글

  1. 알뜰폰 쓸 때 인터넷과 결합하려면2,639
  2. 해외여행 갈 때 데이터로밍 간편하고 싸게 쓰…2,506
  3. 기프티콘은 컬쳐랜드 쿠폰거래소에서 이용하…2,392
  4. 클리오 루즈힐 블룸 다이아 립스틱 5종 홈쇼…2,493
  5. 데이터 10GB+1Mbps 무제한 6,500원부터 쓸수…2,353
  6. 3월 알뜰폰 가성비 평생요금제 2가지 6GB 6천…2,098
  7. 3Mbps 속도 데이터무제한 최저가 검색2,100
  8. 컬쳐랜드에 쿠폰거래소가 새롭게 생겼어요2,062
  9. 해외여행 데이터로밍 일본 태국 대만 최저가…2,042
  10. 아싸컴에서 천만원 이벤트 하는 거 찾았다2,011

2024.05.18 17:00 기준