마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

XML 구조를 어떻게 짤지 고민되서 질문드립니다!

0 추천
이번에 과제로 나온 프로젝트가 있는데요..

안드로이드앱은 몇번 만들어봤지만.. 이과제는 대체 어떻게 해야하는지 감이안와서 여기 올려봅니다 ㅠㅠ

 

요약해서 말씀드리면 이 앱은 한 주인공이있고 그 주인공을 잡으려는 몬스터 4마리가 있습니다.

프로그래밍 수업이라 그래픽은 안다루고 그냥 하얀점(주인공), 검은점(몬스터)로 할겁니다..

 

11x11 바둑판 같은 칸칸이가 있을때 주인공은 맨 처음에 가운데있고, 몬스터들은 각 모서리 쪽에 위치합니다.

시작을 누르면 몬스터들이 주인공을 잡기 시작합니다.

주인공이 잡힌 상황은

몬스터 네마리가 주인공 한명을 상하좌우로 다감싸고 있을때,

주인공이 구석으로 갔을때 몬스터 두마리가 감싸고있을 때 입니다.

 

음.. 말이 길었는데..  핵심은 xml 입니다!

얘네들을 어떻게 움직이냐고 물어보니까 교수님이 말하기로는

주인공을 예로 들면 가운데서 한칸 좌로 이동하면 원래 있던 자리의 점은 display gone 하고 왼쪽에 점을 display 하면 된다고...

좀 말이 안되지않나요...

그럼 11x11칸이면 점이 위치할 1칸1칸을 레이아웃으로 잡아야하는데 xml 코드상에서 그럼.. 121개의 레이아웃을 만들어야 한다는거 아닌가요? 몬스터, 주인공 점도 각각 121개를 만들고 display gone 시켜놓고 개발해야한다는건데..

제가 잘못이해한걸까요? 이렇게 짜는게 맞나요?....
cmsypub (820 포인트) 님이 2016년 5월 25일 질문

2개의 답변

0 추천
cmsypub님이 생각하는 그대로 하셔도 되고요

LinearLayout은 두가지 방향 속성이 있는데요 vertical, horizontal

vertical LinearLayout 베이스에 11개의 view가 들어있는 horizontal LinearLayout 11개를 넣으셔도 되고요

몬스터와 주인공을 구지 121개 만들지 않고 주인공 이미지, 몬스터 이미지 2개를 가지고 해당 view의 배경으로 넣으면 될꺼 같습니다
페어리 (12,270 포인트) 님이 2016년 5월 26일 답변
0 추천
편하신 대로 해도 됩니다.

그냥 FrameLayout 으로 만든다음

스크린사이즈 구해서 가로세로 11로 나눈후

2차원 배열에 해당 포지션 값을 저장 해놓고 사용해도 됩니다.
lonepine (2,660 포인트) 님이 2016년 5월 26일 답변
...