[Android] xml이 아닌 inflate를 사용해 View 꾸미기
<실행 예시>
<풀이>
보통 xml 파일에서 View를 꾸미지만, java 파일에서 코드를 통해 View를 꾸미는 방법도 있다. 그러기 위해서는 inflate를 사용해야 한다.
inflate를 사용하는 방법으로 두 가지가 있는데 첫번째는 LayoutInflater 객체를 사용하는 것이고 두번째는 View 클래스의 static 메소드인 inflate()를 이용하는 것이다.
두번째 방법이 더 유용하기 때문에 두번째 방법을 어떻게 사용해야 하는지 자세히 이야기해보겠다.
inflate 매개변수로 xml로 디자인한 Component를 불러와 Layout에 addView() 해주면 된다. 이렇게 하면 xml마다 View를 만들어 줄 필요 없이 Component를 효율적으로 재사용할 수 있다.
addView()는 LinearLayout 같은 Layout 클래스의 객체가 가진 메소드로 llManager.addView()를 해주면 Layout에 View가 추가된다. 또한, setOrientation()으로 LinearLayout.{수평 혹은 수직} 설정이 가능하다.
그런데 addView()를 사용할 때 뷰 그룹을 넘겨줘야 하기 때문에 Layout.LayoutParam의 객체를 만들어 addView()의 두번쨰 매개변수로 넘겨주면 된다.
그래서 마지막으로 setContentView()에 xml 파일을 넘겨주는 것이 아니라 llManager를 넘겨주면 코드로 꾸민 View들의 Layout을 화면에 보여준다.
<코드>
inflater: 첫번째 방법 사용 시 LayoutInflater 객체
llManager: xml 파일을 대신할 Layout