본문 바로가기

General/bada-

[bada] 화면, Frame과 Form, Controll


bada에서는 화면에 애플리케이션을 보여주기 위해, 
Frame과 Form, 그리고 Controll을 알아두어야 합니다


Controll은 화면에 배치할 수 있는 버튼, 이미지, 텍스트 등의 UI와 관련된 녀석들입니다.
(여러가지 이름으로 부르는데, widget, component, view, controll 등이 같은 걸 말하는 거라 생각 할 수 있습니다.)
이런 화면에 배치되는 요소들, 사용자와 Interaction하는 요소를 bada에서는 controll이라고 부릅니다.

Form은 위의 Controll들을 여러개 가지고 있는 하나의 화면이라고 할 수 있습니다.
한 화면에는 여러개의 버튼, 여러개의 텍스트, 여러개의 이미지가 동시에 보여질 수 있습니다.
form은 이런 controll들을 배치하는 판같은것이라고 생각하면 됩니다.

Frame은 위의 Form들을 바꿔가며 사용자에게 보여주는 틀을 말합니다.
여러개의 form을 보여주고, 사용자와의 interaction에 따라 frame에서 form을 적절히 바꾸어주어야 합니다.




Frame
위에 보이는 이미지처럼,
빨간색으로 선택된 화면의 전체 영역을 Frame이라고 합니다.
화면에 보이는 전부를 가지고 있는 전체 영역이 Frame입니다.




상단에 빨간색으로 테두리를 해 놓은게 보이실 겁니다. 이녀석은 Indicator라고 합니다.
Indicator는 Frame이 아닌 Form에 속하는 녀석입니다.
이 Indicator가 화면에 보일지 말지는, 개별적인 form마다 결정하게 됩니다.




하나의 애플리케이션은 하나이상의 Form을 가지고 있습니다.
단일 form을 사용하는 경우는 화면의 전환이 없겠지만, 여러개의 form을 가진경우,
Frame에 접근해 form을 교체해주며 화면을 전환하도록 해주어야 합니다.
form을 교체하기 위해 각 form마다 String으로 태그를 달아두는 방법이 있습니다.
Tag를 이용해 각 form을 식별하는 방법이지요.

어쨋든, Frame에 여러개의 Form을 적절히 번갈아 가며 보여주는것, 이것이 bada에서의 화면 전환입니다.

bada SDK 2.0이상버전부터는 Header와 Footer를 Form에서 편리하게 사용할 수 있도록 되어있습니다.
이 점은 괜찮더군요.



Controll은, Form에 적절히 배치해서 사용하면 되겠죠?

기본적인 것들로는,
텍스트를 보여주는 Label,
글씨를 입력하는 입력창인 EditField,
글씨를 입력하는 영역인 EditArea 등,
여러 모바일 플랫폼에서 사용하는 그런 Controll들이 존재합니다.



Form에 Controll들을 배치하는건,
C#에서 하는 방식과 비슷하게 이루어져 있어서 상당히 편리합니다.(조금 투박해 보이긴 하지만)

마우스로 끌어다가 놓고, 키보드 방향키로 위치를 조절할수 있습니다.

또는 해당 Controll의 속성중 위치를 지정할 수 있는 속성이 있으므로 그녀석을 사용해도 됩니다.