유가엘
개발일지
유가엘
전체 방문자
오늘
어제
  • 분류 전체보기 (107)
    • Solution (16)
      • EAI (11)
      • Concept (1)
      • webMethods (4)
    • Language (20)
      • Java (20)
    • DataBase (19)
      • Oracle (18)
    • Web Programming (38)
      • JSP (11)
      • Spring (10)
      • Project (17)
    • 협업도구 (8)
      • Git (8)
    • IT (6)
      • ETC (4)
      • 정보처리기사 (1)
      • Android (1)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

티스토리

hELLO · Designed By 정상우.
유가엘

개발일지

Android Studio 와 Layout
IT/Android

Android Studio 와 Layout

2020. 1. 13. 23:01

Android Studio를 통해 프로젝트를 생성하면 Activity_main.xml(화면) , MainActivity.java(기능)을 담당하는 파일이 생성됩니다.

해당 파일은 아래와 같은 경로에 위치합니다.

app > java > PackageName > MainActivity.java

app > res > layout > Activity_main.xml 

눈모양 : 해당 뷰안에 다양한 조건 (Margin,Padding, Condition 등)을 표기해줍니다.

자석모양 : 제약 및 상대 조건이 있을 경우, 자동으로 라인을 생성해 줍니다.

I 모양 : 가이드라인을 만들어 상단과 하단 좌, 우측 등 정렬하는 용도로 사용합니다.

제약 위젯 : 현재 버튼이 정 중앙에 위치해 있지만, 네모칸의 숫자를 입력시, 해당 만큼 추가 Margin을 가집니다.

               또한 동그란 위젯을 통하여 Bias[치우침]을 조절할 수 있습니다.

Activity_main.xml의 하단 Text 탭을 확인 해보면 Design에서 그려준 이미지가 XML화 되어 있습니다.

그중 xmlns:app="http://schemas.android.com/apk/res - auto" 는 안드로이드 SDK를 사용한다는 의미이며

android: 는 안드로이드SDK에 있는 속성

app: 는 외부라이브러리 혹은 프로젝트에서 지정한 속성 사용을 의미합니다.

 

Layout의 종류

  • Constraint Layout : 프로젝트 생성시, 제약조건을 가지고 생성되며, 제약조건을 통해 뷰의 위치를 화면에 배치를 합니다. 

  • Linear Layout : 박스가 쌓아올리 듯, 방향을 반드시 지정하게 되어있습니다. 

  •                         orientation : vertical(세로), horizontal(가로)

  • Relative Layout : 상대 레이아웃제약 레이아웃과 유사하며 , 컨테이너나 다른 뷰의 관계를 통해 사용합니다.

  •                        layout_alignParentStart=true : 부모 영역 상단에 붙입니다. 

  •                        layout_alignParentLeft=true : 부모 영역 좌측에 붙입니다.   

  •                        layout_below="@+id/기준되는 부모의id 값" : 상단에 붙일 영역의 id값을 넣습니다.     

  •                        layout_above="@+id/아래로붙일 id값" : 아래 붙일 영역의 id를 붙여넣습니다.

  • Frame Layout : 한번에 하나의 뷰만 보여줍니다. 뷰가 여러개 들어가면 중첩 되며,(마지막만 보임)전환효과를 낼 수 있습니다.

  • Table Layout : 격자 형태로 배치하게 됩니다. 

 

 

All Attributes

  • layout_width, height : match_parent (해당 레이아웃의 너비만큼), wrap_content(내용물의 크기만큼)

  • layout_gravity : 정렬 속성을 사용할 수 있습니다.

  • gravity : 내용물의 정렬 속성을 사용할 수 있습니다.

  • layout_margin : 뷰의 영역을 기준으로  테두리까지의 공백을 각기 설정 할 수 있습니다.

  • padding : 테두리를 기준으로 내용물 사이의 공백을 각기 설정 할 수 있습니다.

  • textSize : 글자 색을 변경 할 수 있습니다.

  • background : 색상을 지정 할 수 있습니다.

  • layout_weight : 남아있는 공간을 분할 합니다.

뷰의 영역

버튼을 예시로 들자면  

  • 글자의 영역: 516x910 라는 칸 안에 입력됩니다.

  • Border 영역: 버튼의 테두리를 의미 합니다.

  • Padding 영역: 테투리와 글자 사이의 간격을 의미합니다.

  • Margin 영역: 실제 해당 버튼이 차지하는 공간에서 테투리까지의 공백을 의미합니다.

 

 

 

 

 

저작자표시 비영리 변경금지 (새창열림)
    유가엘
    유가엘

    티스토리툴바