본문 바로가기
New 정보/IT정보

안드로이드 스튜디오 xml 속성 - android:id / Guidline

by diane + 2021. 6. 25.
728x90
반응형
SMALL

xml 원본에 추가된 속성 확인하기

실제 앱을 만들 때는 모든 것을 디자이너 도구의 화면에서 해결할 수 없는 경우가 많다.

화면에 들어가는 뷰가 복잡하게 배치되기도 하고 뷰들을 서로 중첩하여 쌓아두어야 할 수도 있으므로 앞으로xml 원본 코드를 수정할 때가 점점 많아 질 것이다.

 

<?xml version="1.0" encoding="utf-8"?>

xml 파일에 일반적으로 추가되는 정보로 이 파일이 xml 형식으로 된 것임을 알려준다.

 

<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent">

 

xmlns:android 속성은 xml 레이아웃 파일이라면 하나의 파일에 한 번만 사용하면 된다.

xmlns 뒤에 있는 android 라는 이름이 나머지 속성의 접두어 Prefix 로 사용된다.

android:layout_width 속성 앞에 있는 android: 는 xmlns:android 로 지정된 정보를 참조하여 사용한다는 의미이다.

 

  • xmlns:android 안드로이드 기본 SDK 에 포함되어 있는 속성을 사용한다.
  • xmlns:app 프로젝트에서 사용하는 외부 라이브러리에 포함되어 있는 속성을 사용합니다. app 라는 단어는 다른 것으로 바꿀 수 있다.
  • xmlns:tools 안드로이드 스튜디오의 디자이너 도구 등에서 화면에 보여줄 때 사용한다. 이 속성은 앱이 실행될 때는 적용되지 않고 안드로이드 스튜디오에서만 적용된다.

 

 

android:id 속성

ConstraintLayout 태그 안에 들어 있는 태그 속성 중 android:id 속성은 뷰를 구분하는 구분자 역할을 한다.

id 속성이 사용되는 용도는 첫째, xml 레이아웃 파일 안에서 뷰를 구분할 때,

두 번째는 xml 레이아웃 파일에서 정의한 뷰를 자바 소스 파일에서 찾을 때 이다.

 

xml 레이아웃 파일 안에는 여러 개의 뷰를 추가할 수 있고

추가한 각각의 뷰는 다른 뷰의 왼쪽이나 오른 쪽 등에 연결될 수 있다. 이때 다른 뷰가 어떤 것인지 지정할 필요가 있는데 그 목적으로 id 속성 값이 사용된다.

 

제약 레이아웃 에서 하나의 뷰를 다른 뷰와 연결할 때 사용하는 xml 속성의 이름은 다음과 같은 규칙을 가진다.

layout_contraint[소스뷰의연결정]_[타깃뷰의연결점]="[@+id/아이디값]"

app:layout_contraintStart_toStartof="@+id/button"

 

*** @+id/아이디값

안드로이드 초기 버전에서는 @+id 의 형식이 xml 레이아웃 파일에 id 값을 추가한다는 의미로 만들어졌습니다. 따라서 이렇게 만들어진 id 값을 사용할 때는@id 형식과 @+id 형식을 혼용하여 사용했으나 지금은 @+id 형식을 주로 사용하고 @id 형식은 거의 사용하지 않습니다.

 

 

id 속성

layout_contraintTop_toTopOf

layout_contraintTop_toBottomOf

layout_contraintBottom_toTopOf

layout_contraintBottom_toBottomOf

layout_contraintLeft_toTopOf

layout_contraintLeft_toBottomOf

 

layout_contraintLeft_toLeftOf

layout_contraintLeft_toRightOf

layout_contraintRight_toTopOf

layout_contraintRight_toBottomOf

layout_contraintRight_toLeftOf

layout_contraintRight_toRightOf

 

Left 대신 Start 를, Right 대신 End를 사용할 수 있으니 사용할 수 있는 속성은 더 많아 진다.

 

 

Guidline 클래스

Guideline 클래스는 외부 라이브러리에 들어 있어 패키지 이름인 android.constraintlayout.widget 을 함께 붙여준다.

 

태그에는 필수 속성인 layout_width 와 layout_height 속성과 값이 들어 있다.

id 값으로 @+id/guidline 이 설정되어 있다. 그 다음 속성으로는 android:orientation 이 있는데 가이드라인은 가로 또는 세로 방향 중에서 어느 방향인지를 지정해야 하므로 orientation 도 필수 속성이다.

 

부모 레이아웃의 벽면에서 얼마나 떨어뜨려 배치할 지 지정하는 속성

  • layout_constraintGuide_begin 세로 방향인 경우 왼쪽부터, 가로 방향인 경우 위쪽부터의 거리 지정
  • layout_constraintGuide_end 세로 방향인 경우 오른쪽부터, 가로 방향인 경우 아래쪽부터의 거리 지정
  • layout_constraintGuide_percent 는 layout_constraintGuide_begin 속성 대신 지정하되 % 단위로 거리 지정

 

*제약 조건을 설정하는 속성은 외부 라이브러리의 속성이므로 속성 이름 앞에 모두 app:접두어가 붙어 있다. 

728x90
반응형
LIST

댓글