Package 

Class AffordanceViewManager


  • 
    public final class AffordanceViewManager
    
                        

    모든 광고뷰(배너, 네이티브, 전면 등) 위에 AffordanceView 를 오버레이로 붙였다 뗐다 할 수 있게 해주는 매니저.

    host 와 anchor 를 분리한다.

    • host — 배지를 실제로 담는 ViewGroup. getOverlay 에 추가되므로 host 의 자식이 아니며, host / 형제 뷰의 measure, layout 계산에 관여하지 않는다.
    • anchor — 배지의 위치 기준이 되는 뷰. host 자신이거나 host 의 자손이면 된다. 배너 컨테이너가 MATCH_PARENT 이고 광고 콘텐츠만 가운데 320dp 로 놓이는 경우, anchor 를 광고 콘텐츠 뷰로 주면 배지가 화면 끝이 아니라 광고 모서리에 붙는다.

    anchor 의 위치는 getMatrix 를 타고 올라가며 host 의 로컬 좌표계로 변환하므로, ScriptAdapter 처럼 {@code setScaleX/Y} 로 축소된 광고뷰에도 시각적 경계에 정확히 맞는다. 배지 자체는 host 오버레이에 있으므로 광고뷰의 scale 에 함께 축소되지 않는다.

    마진은 정렬된 변 기준으로 상하좌우 동일하게 적용된다. 가운데 정렬 축에는 적용하지 않는다.

    사용 예:
        // 광고 콘텐츠(adView) 기준 우측 하단, 6dp 마진
        AffordanceViewManager.getInstance()
                .show(bannerContainer, adView, rewardModel, Gravity.BOTTOM | Gravity.END, 6);
    
        AffordanceViewManager.getInstance().setRewarded(bannerContainer, true);
        AffordanceViewManager.getInstance().detach(bannerContainer);