인플레이터를 사용해서 메인 엑티비티 안의 레이아웃에 엑티비티를 삽입 하고 싶습니다.
XML로 정의된 엑티비티를 삽입 하고 싶다면 다음과 같이 사용 할 수 있습니다.
LinearLayout lineout=(LinearLayout)findViewById(R.id.layout1);
LayoutInflater infl = (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE);
infl.inflate(R.layout.game_view,lineout,true);
그런데, 저는 커스텀 뷰를 만들어서 지정된 레이아웃속에 인플레이터를 사용해서 넣고 싶은데,
(게임을 구현 하고 있는데, 게임 영역만 커스텀 뷰로 구현을 하고 나머지는 XML에서 정의된 것을 사용 하고 싶습니다.)
커스텀 뷰를 만들면 리소스 없이 엑티비티 상속 class하나만 나오잔아요..
public class CGameView extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//setContentView(R.layout.game_view);
//CustomView myView = new CustomView(this);
//setContendView();
this.setContentView(new ChildView(this));
}
protected class ChildView extends View{
public ChildView(Context context) {
super(context);
// TODO Auto-generated constructor stub
}
public void onDraw(Canvas canvas)
{
canvas.drawColor(Color.LTGRAY);
Paint pnt=new Paint();
pnt.setColor(Color.GREEN);
canvas.drawCircle(100, 100, 80, pnt);
}
}
}
그럴 경우에는 어떻게 이 class를 가지고 엑티비티를 부모 엑티비티의 레이아웃 속에 끼워넣을수 있을까요?