본문 바로가기

안드로이드앱 코딩_AndroidApp/안드로이드 스튜디오

6번째 프로젝트 만들기_01

이번에 만들어 볼 프로젝트는 Layout(레이아웃)과 View(뷰)를 다루어 본다.

 

안드로이드 스튜디오는 현재 4.0.1이다.

실행 한 후 새 프로젝트를 만든다.

 

Empty Activity(빈 액티비티)를 선택하고 Next(다음)을 클릭한다.

프로젝트 제목을 Exploring Layouts (레이아웃 탐험)이라고 하고 나머지 옵션은 아래와 같이 설정한다.

회색 부분은 자신의 컴퓨터에 맞게 적용될 것이다.

Finish(종료) 버튼을 클릭한 후 잠시 기다리면 다음과 같은 모양이 될 것이다.

새 프로젝트를 만들면 코드를 입력하는 기본 클래스인 MainActivity.kt 파일과 View(뷰)의 배치를 보여주는 activity_main.xml 이라는 layout(레이아웃) 파일이 만들어 진다.

 

이전 글을 보았다면 다 알고 있는 내용이겠지만 다시 한번 설명해 본다.

MainActivity.kt 파일의 코드를 보자.

 

프로젝트를 실행하면 함수 중에서 제일 먼저 실행하는 것이 7번~10번 줄에 있는 onCreate()함수다.

그 중에서 9번 줄 코드가 activity_main.xml 파일에 만들어져 있는 View를 폰 화면에 보여주는 코드이다.

 

setContentView()함수의 매개변수에는 화면에 나타낼 xml파일을 경로(위치)와 함께 표시하고 있다.

여기서는 activity_main 이라는 파일을 사용하고 있다.

즉, activity_main이라는 파일을 참조하기 위해서는 아래와 같이 R이라는 리소스 참조 파일의 클래스 안에 있는 layout클래스에 정의된 변수 activity_main을 참조한다. 이 activity_main 변수에는 activity_main.xml 파일의 내용이 들어있다. 

참고로 R은 본래 R.java 파일인데 프로젝트를 만들때 만들어지는 파일과 리소스(이미지, 사운드 등)에 대한 정보를 정의해 놓는 파일이다. 프로젝트를 만들면 자동으로 만들어 지며 손댈 필요도 없다. 지금은 그냥 리소스(res 폴더 안에 있는 파일들)를 참조할 때 이 R을 통해서 접근한다는 정도만 알아두자.

 

숫자부분을 클릭하여 9번줄을 선택한 후 delete(딜리트; 삭제)키를 눌러서 지우자.

그러면 프로젝트는 실행되지만 폰 화면에는 아무것도 나타나지 않을 것이다.

기본으로 만들어지는 activity_main.xml 파일은 다음과 같은 모양이다.

MainActivity에서 위 화면을 보여주는 코드를 삭제했으므로 나타나지 않는 것이다.

 

이제 새 레이아웃 파일을 만들고 MainActivity에서 새 레이아웃 파일을 제일 처음에 화면에 보이도록 해보자.

 

새 레이아웃 파일을 만들려면 파일 구조창에서 res >> layout 폴더를 선택한다.

마우스 오른쪽을 클릭한 후 New > Layout Resource File (레이아웃 리소스 파일)을 클릭한다.

 

Root element (근본 요소) 창에 lin을 입력하면 나타나는 자동 옵션에서 LinearLayout (리니어 레이아웃)을 선택한다.

파이 이름은 layouts_main 이라고 붙인다.

다 됐으면 OK버튼을 클릭한다.

 

layout폴더 안에 layouts_main.xml 파일이 새로 만들어졌다.

LinearLayout 은 안에 넣는 View(뷰)들을 가로(horizontal) 또는 세로(vertical)로 차례대로 나열하는 형태의 레이아웃이다.

위 그림에서 보듯이 기본적으로 vertical(세로) 형태가 만들어진다.

레이아웃 안에 또 다른 레이아웃을 넣을 수도 있다.

 

xml파일의 코드는 위와 같다.

orientation(오리엔테이션; 방향)은 vertical(버티클; 세로)로 설정되어 있다.

layout_width(레이아웃 넓이)와 height(높이)는 match_parent (부모 레이아웃에 꽉 차게)로 설정되어 있다.

 

먼저 이 레이아웃의 제목을 만들어 보자.

textView를 하나 넣고 text속성에 Menu라고 입력한다.

 

참고: 이전 글들에서 text 속성에 들어가는 값(문자)는 strings.xml에 추가해서 관리했다. 하지만 여기서는 레이아웃 기능을 익히기 때문에 위와 같이 text 속성에 직접 문자를 입력하는 것으로 대체한다. 정식으로 프로젝트를 만들 때는 strings.xml에 리소스로 등록해서 관리하도록 한다.

 

속성 검색창에 size를 입력하여 textSize(글자 크기) 속성을 찾아서 값을 50sp로 입력하고 엔터키를 친다.

 

계속해서 검색창에 gravity(그래비티; 중력)을 입력하여 gravity속성 중에서 center_horizontal (중앙_수평의)를 체크(true)한다.

 

xml파일의 Code(코드)를 열어보면 위와 같이 되어 있을 것이다.

 

위와 같이 제목만 만들어 놓고 이 레이아웃 파일을 화면에 보이도록 코드를 작성해 보자.

 

MainActivity 탭을 열고 삭제했던 9번 줄에 setContentView함수를 선택하고 엔터키를 친다.

 

매개변수에 조금 전에 만든 layouts_main을 경로(위치)와 함께 표시해 준다.

R은 Resource(리소스)의 첫글자이다.

경로를 표시하는 순서는 다음과 같다.

 

'리소스의 layout 안에 있는 layouts_main'

 

실행해 보면 위와 같이 나타난다.

 

레이아웃 다루기 01은 여기까지.

 

Wraven...