마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

카울리 배너를 간단하고 달고 싶은데 막혀서 몇일째 고생중입니다.ㅠㅠ

0 추천
먼저 카울리 배너를 달려면
Manifest와 atts.xml 파일 만들구
onCreate 에

Logger.setLogLevel(LogLevel.Info);
  
CaulyAdInfo adInfo = new CaulyAdInfoBuilder(APP_CODE).
effect("RightSlide").
build();
  
// CaulyAdInfo를 이용, CaulyAdView 생성.
javaAdView = new CaulyAdView(this);
javaAdView.setAdInfo(adInfo);
javaAdView.setAdViewListener(this);
  
RelativeLayout rootView = (RelativeLayout) findViewById(R.id.java_root_view);
  
// 화면 하단에 배너 부착
RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(
LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
params.addRule(RelativeLayout.ALIGN_PARENT_BOTTOM);
rootView.addView(javaAdView, params);

여기까지만 해줘도 하단에 정상적으로 카울리배너가 부착되는것을 확인하였습니다.
그런데 문제는
RelativeLayout rootView = (RelativeLayout) findViewById(R.id.java_root_view);

이줄에서처럼 테스트로 만들어본 id가 java_root_view 인 xml 파일에서는 제대로 부착이 되지만

저는 앱을 만들때

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(new playView(this));

}

class playView extends View {

public playView(Context context) {
super(context);

}

public void onDraw(Canvas canvas){

}
}

이런식으로 클래스를 만들어서 땡자바로 코딩하거든요 그래서

RelativeLayout rootView = (RelativeLayout) findViewById(R.id.java_root_view);

이 줄을 어떻게 해야 할지를 모르겠습니다. ㅠㅠ

RelativeLayout rootView = new RelativeLayout(this);

이런식으로 해봤는데 앱이 뻗지는 않지만 아에 카울리배너가 나오지 않구요 ㅠㅠ

밑에 질문에서 addView 에 질문을 했었는데 ViewGroup 를 만들으라고도 하시는데
잘....모르겠구요 ㅠㅠ

꼭 좀 자세히 도와주세요ㅠㅠ 카울리 배너를 달고 싶어요 ㅠㅠㅠㅠ
익명사용자 님이 2014년 4월 28일 질문

1개의 답변

0 추천
도움이 될지는 모르겠지만 playView가 View를 상속하였기때문에 하위뷰를 가질 수 없어서 나타나는 문제로 보이네요.

하위뷰를 가지려면 ViewGroup에서 출력을 원하는 뷰에 추가하여 출력하여야 합니다. 따라서 밑에 질문에서 ViewGroup을 만들라고 한 것이구요.

쉽게 생각하자면 ImageView, VideoView 등에 하위 View를 달 수 없으니 ViewGroup을 상속한 Layout에 집어넣지요.
인연 (31,880 포인트) 님이 2014년 4월 28일 답변
...