2013-03-09 63 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; 
}