안녕하세요. Bucket Place 개발자 Cloud Travel입니다.
이번에는 Custom Layout을 생성하는 방법에 대해서 알아보도록 합시다. 여기에서는 inflater의 개념이 적용되지만,
이에 대해서 깊이 다루지는 않고, 생성하고 등록하는 것에 중점을 두고 간략하게 설명 하겠습니다.
1. Layout의 생성
Android의 모든 resource는 rsc에 저장되는 것을 지금까지의 사례로 알수 있을 것이다.
Layout 폴더에 자신이 원하는 레이아웃 리소스를 정리한다고 생각하면 된다.
여기서 필자는 header.xml 이라는 파일을 생성하였고, 이를 Custom view로 만들고자 한다.
Custom View는 실질적으로 만들어진 xml레이아웃을 java파일에서 변환해주면 사용이 가능하다.
2. Layout의 등록
public class HeaderView extends RelativeLayout{
Context mContext = null;
public HeaderView(Context context,AttributeSet attrs){
super(context,attrs);
initHeaderView(context);
}
public HeaderView(Context context){
super(context);
initHeaderView(context);
}
void initHeaderView(Context context){
mContext = context;
String infService = Context.LAYOUT_INFLATER_SERVICE;
LayoutInflater li = (LayoutInflater) getContext().getSystemService(infService);
View v = li.inflate(R.layout.header, this,false);
addView(v);
}
}
만들어진 레이아웃을 상속받아서 위와 같이 정의해주시면 됩니다.
구체적이고 깊은 공부는 어플 개발이 끝난후로 미뤄두고 있습니다. 그렇기 때문에 간단한 방법론만을 설명하고 패스~