이 영역을 누르면 첫 페이지로 이동
CodeJUN 블로그의 첫 페이지로 이동

CodeJUN

페이지 맨 위로 올라가기

CodeJUN

심심해서 하는 블로그

Layout Inspector로 레이아웃 디버깅하기

  • 2020.06.01 10:59
  • Android

지난주에 Android Studio 4.0이 Stable 채널에 업데이트되었습니다. 생각보다 새로운 기능들이 많은데, 앞으로 하나씩 포스팅해보도록 하겠습니다. 왜 항상 이 친구들은 좋은 기능 만들어 놓고 꽁꽁 숨겨두는지 모르겠습니다.

 

뭐 할때 쓰는 걸까

공식 문서에서는 Layout Inspector를 '레이아웃이 완전히 XML로 빌드된 것이 아니라 런타임에서 빌드되어 예상치 못한 방식으로 작동될 때 유용하다.' 라고 설명하고 있습니다.

제가 해석하기로는 아마 레이아웃 구성 시 XML코드로 짜는 것이 아닌 클래스를 통해 레이아웃을 구성하거나 값들을 변경하였을 때 예상치 못한 오류가 발생하는 경우(위젯이 사라지거나 이상한 곳에 배치되는 경우) 디버깅에 유용한 툴 정도로 해석했습니다.

 

레이아웃의 구성을 XML코드로 작성 시 Component Tree에 레이아웃 구성요소가 자세하게 나와있습니다. Preview를 통해서도 실행 시 어떻게 보여지는지에 대하여 미리보기를 제공하고 있습니다. XML로 구성을 했기 때문에 만약 실행 시 위젯이 보이지 않더라도 Component Tree에서 해당 위젯을 찾고 XML에서 수정할 수 있죠.

 

그러나, 클래스(아마 런타임..)를 통해 View를 생성하게 되면 각 위젯들이 어떻게 구성되어있고 생성되었는지 알 수 없습니다. 보여지는게 다죠. 이럴 때 레이아웃을 디버깅 할 수 있게 도와주는 툴이 Layout Inspector입니다.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

위 사진처럼 디버깅 중인 프로세스를 선택하면 현재 보고 있는 View에 대한 캡처가 진행되고 정보를 보여줍니다. XML로 구성한 위젯들은 물론이고 런타임을 통해 구성된 위젯들과 View 모두 XML에서 구성한 것 처럼 Component Tree에서 확인할 수 있습니다. 각 위젯들을 클릭하면 해당 위젯들의 속성(Attributes)을 확인할 수 있습니다.

 

앞으로도 자주 써먹을 법한 유용한 기능이네요.

 

앞으로도 Android Studio의 숨겨진 기능을 하나씩 리뷰? 해보는 포스팅을 종종 작성해 보겠습니다.

감사합니다.

저작자표시 비영리 동일조건 (새창열림)

'Android' 카테고리의 다른 글

Cannot invoke setValue on a background thread 해결 방법  (0) 2020.08.03
RecyclerView에 줄 라인 추가하기(Divider)  (0) 2020.07.27
Android에서의 MVVM은 무엇이고 왜 사용하는가  (0) 2020.04.06
Android 아키텍처 컴포넌트를 사용한 구조 개선  (0) 2020.04.03
'onMessageReceived' overrides nothing 해결  (1) 2020.03.30

댓글

이 글 공유하기

  • 구독하기

    구독하기

  • 카카오톡

    카카오톡

  • 라인

    라인

  • 트위터

    트위터

  • Facebook

    Facebook

  • 카카오스토리

    카카오스토리

  • 밴드

    밴드

  • 네이버 블로그

    네이버 블로그

  • Pocket

    Pocket

  • Evernote

    Evernote

다른 글

  • Cannot invoke setValue on a background thread 해결 방법

    Cannot invoke setValue on a background thread 해결 방법

    2020.08.03
  • RecyclerView에 줄 라인 추가하기(Divider)

    RecyclerView에 줄 라인 추가하기(Divider)

    2020.07.27
  • Android에서의 MVVM은 무엇이고 왜 사용하는가

    Android에서의 MVVM은 무엇이고 왜 사용하는가

    2020.04.06
  • Android 아키텍처 컴포넌트를 사용한 구조 개선

    Android 아키텍처 컴포넌트를 사용한 구조 개선

    2020.04.03
다른 글 더 둘러보기

정보

CodeJUN 블로그의 첫 페이지로 이동

CodeJUN

  • CodeJUN의 첫 페이지로 이동

검색

메뉴

  • 홈
  • 방명록

카테고리

  • 분류 전체보기 (54)
    • Android (38)
    • BlockChain (4)
    • React Native (4)
    • 아두이노 (2)
    • 프로젝트 (6)

공지사항

  • 공지 - 블로그를 시작하며

태그

  • C
  • Android
  • arduino
  • c++
  • 안드로이드
  • 아두이노
  • 강좌
  • Firebase

나의 외부 링크

  • Github

정보

CODE_JUN의 CodeJUN

CodeJUN

CODE_JUN

블로그 구독하기

  • 구독하기
  • RSS 피드

방문자

  • 전체 방문자
  • 오늘
  • 어제

티스토리

  • 티스토리 홈
  • 이 블로그 관리하기
  • 글쓰기
Powered by Tistory / Kakao. © CODE_JUN. Designed by Fraccino.

티스토리툴바