391일차 - Android Layout Include

2022. 1. 30. 20:17Diary/300~400

안드로이드에서 레이아웃을 작성하는 방법은 여러가지가 존재한다. 특히나 레이아웃은 복붙을 해야하는 구조가 정말 많은데, 그럴 때, 사용하는 방법 중 하나가 include이다. 이는 웹에서 사용하는 것과 말그대로 다른 레이아웃을 가져와서 붙여넣는 것이다. 다만, 이 방법을 사용할 시에는 해당 레이아웃의 디자인의 디테일한 변경은 레이아웃 코드에서는 불가능하다. 예를 들어, 텍스트 변경이나 백그라운드 변경같은 부분이다.

이를 위해서는 코드로 변경해야한다.

 

이러한 방식으로 변경하면 된다.

코틀린을 사용하면서 with는 주로 위의 상황에서 자주 사용한다. NULL이 나오지 않을 경우에 사용해야하는데, 레이아웃을 바인딩해서 사용할 때, 딱이다. 위의 with는 apply와 같이 this로 지정되기 때문에, 내부 코드를 좀 더 깔끔하게 작성할 수 있다. 위의 코드는 원래대로라면

frame_main_hexagons.frame_hexagon_1.setOnClickListener

이렇게 자성해야한다. 문제가 있는건 아니지만, 코드가 지저분해지고 쓸데없이 너무 길어진다. 그렇기에 with를 사용해서

frame_hexagon_1.setOnClickListener

이러한 형식으로 작성하는 것이다.