#5 안드로이드 스튜디오로 안드로이드 앱 만들기 - 뷰(View)의 기초 속성

2018. 1. 23. 15:09안드로이드

반응형

#1 안드로이드 스튜디오로 안드로이드 앱 만들기 - 개발 환경 구축

#2 안드로이드 스튜디오로 안드로이드 앱 만들기 - 개발 디렉토리와 파일 구조

#3 안드로이드 스튜디오로 안드로이드 앱 만들기 - 액티비티(Activity) 뷰(View) 구조

#4 안드로이드 스튜디오로 안드로이드 앱 만들기 - UI 작성 방법 : 자바코드 VS 레이아웃 XML


안드로에드 스튜디오에서는 UI구성을 레이아웃 XML로 작성할 때 뷰 태그에 다양한 속성을 추가할 수 있으며, 속성들은 뷰(View)에 따라 다르다. 그러므로 지금은 가장많이 쓰이고 모든 뷰에 공통적으로 지정할 수 있는 중요 속성들을 이야기 할 것이다.


■ id 속성

id 속성을 간단하게 말하면 뷰의 식별자 속성이다. 필수 속성은 아니며 필요할 때 추가할 수 있다. 


근데 화면에 그냥 내용 출력만 하는게 목적이라면 id 속성을 넣지 않아도 상관없지만 그게 아니라면 id 속성을 추가하여야한다. 즉, 뷰 객체를 자바코드에서 획득하여 속성 변경 등의 작업을 수행할려면 id 속성을 추가하여야한다.



■ layout_width, layout_height 속성

뷰를 화면에 표시할 때 반드시 뷰의 크기(size)를 지정해야 한다. 크기를 지정하지 않으면 빌드할 때 에러가 발생한다.


크기의 속성값은 다음의 4가지로 지정할 수 있다.

-match_parent

-fill_parent

-wrap_content

-100px


match_parent와 fill_parent는 의미상 동일하므로 어떤 속성값을 주더라도 결과는 같다. 이 값의 의미는 해당 뷰의 크기를 부모 계층의 뷰가 지정한 크기에 꽉 들어차게 자동으로 결정하라는 의미이다.


wrap_content는 해당 뷰의 내용을 화면에 보이기 위한 적절한 크기를 계산해서 결정하라는 의미이다.


또는 100px 처럼 수치로 뷰의 크기를 직정 설정할 수도 있다.




■ margin, padding 속성

margin은 뷰와 뷰 사이의 간격을 지정하는 속성이며, padding은 뷰 내부에서 내용과 뷰의 테두리간의 간격을 지정하는 속성이다. 뷰의 기본 margin과 padding 값이 있는데, 이를 증감하고자 할 때 사용하는 속성이다.



■ clickable 속성

안드로이드의 모든 뷰는 기본적으로 사용자의 클릭 이벤트나 롱클릭 이벤트에 반응한다. 그리고 대표적 이벤트 뷰인 버튼은 clickable 속성을 지정하지 않아도 기본으로 클릭이나 롱클릭이벤트를 처리할 수 있다. 


하지만 문자열을 출력하는 TextView나 이미지를 출력하는 ImageView는 clickable 속성을 명시적으로 지정(true)하지 않으면 이벤트에 반응하지 않는다.



■ visibility 속성

visibility 속성은 뷰를 화면에 출력할지 말지를 지정하는 속성이다. 기본값은 "ture" 이며 "invisible"이나 "gone"으로 화면에 안보이게 할 수 있다.


invisible과 gone의 차이점은 둘 다 화면에 출력은 안되지만, 크기를 확보하는가 확보하지 못하는가에 있다. "invisible"로 지정하면 화면에 안보이지만 크기는 가지고 있지만 "gone"으로 지정하면 크기까지 확보하지 않는다.

반응형