2013-03-09 62 views
1

不會調整我有這樣的:煎茶觸摸 - 當AdView後,加入

private void setupAds() { 
    AdView adView = new AdView(this, AdSize.BANNER, "a15138083566f58"); 
    LinearLayout layout = super.root; 
    layout.addView(adView); 

    AdRequest request = new AdRequest(); 
    request.setTesting(true); 
    adView.loadAd(request); 

    super.root.requestLayout(); 
} 

當廣告加載,它涵蓋了我的應用程序的底部。如果我切換方向,一切都會重新正確渲染。這意味着WebView尺寸合適,但Sencha Touch不尊重尺寸變化,對吧?

我該如何解決這個問題?

+0

嗨Stefan,你能解決這個問題嗎?我面臨同樣的問題。 – 2014-05-05 15:14:20

回答

1

以編程方式添加AdView時,通常會將其添加到您爲此目的專門創建和調整大小的ViewGroup中。我不知道Sencha Touch是什麼,但是如果super.root是整個Activity的ViewGroup,那麼你的顯示將完全取決於根視圖指定什麼類型的佈局。

建議您在佈局中創建一個AdViewParent並將AdView添加到該佈局中。

0

訣竅是將adView不放到super.root佈局上,而放到WebView的佈局上(DridGap的appView)。這裏是屏幕底部水平對齊橫幅的代碼

private void setupAds() { 
    AdView adView = new AdView(this, AdSize.BANNER, "a15138083566f58"); 
    //   
    RelativeLayout layout = new RelativeLayout(this); 
    RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(
       RelativeLayout.LayoutParams.MATCH_PARENT, 
       AdSize.BANNER.getHeightInPixels(this)); 
    rparams.addRule(RelativeLayout.ALIGN_PARENT_BOTTOM); 
    layout.addView(adView, params); 
    // 
    appView.addView(layout, new LinearLayout.LayoutParams(
       LinearLayout.LayoutParams.WRAP_CONTENT, 
       LinearLayout.LayoutParams.WRAP_CONTENT)); 
    request adRequest = new AdRequest(); 
    adView.loadAd(request); 
} 

使用此方法,您必須避免admob橫幅內容的重疊。你可以在app.scss中做,有點像

#bottomitemid{ 
    padding-bottom: 50px; 
}