2012-03-26 79 views
0

我一直在尋找類似的問題,但他們更關注如何讓這些新的Admob版本顯示廣告,我收到的廣告顯示的不是我的問題,我的問題是廣告在所以當應用程序擴展屏幕上的內容時,adview會消失,因爲它會覆蓋所有內容。我的解決方案是將adview放置在屏幕頂部,這樣,無論屏幕上有多少內容,adview都將可見!在adview嵌入到我的xml中之前,我能夠完成此任務,但遵循admob教程,您不再將其放在xml上。那麼,如何將廣告放置在mainLayout的頂部?這裏是我一直在嘗試的代碼。Android Admob 4.3.1如何在屏幕頂部製作adView顯示?

LinearLayout layout = (LinearLayout)findViewById(R.id.mainLayout); 
    adView = new AdView(this, AdSize.BANNER, "my code"); 
    layout.addView(adView); 
    AdRequest r = new AdRequest(); 
    adView.loadAd(r); 
    // this is what I try to get it on top of the screen, but is not working 
    adView.setGravity(Gravity.TOP | Gravity.CENTER_HORIZONTAL); 
    adView.bringToFront(); 

,所有這一切,因爲我沒有做過任何的XML,仍呈現在底部AD瀏覽,所以我怎麼能得到它在屏幕的頂部? 謝謝

回答

3

您的代碼是設置AdView的重力,但AdView是在LinearLayout中。將LinearLayout放置在您希望顯示的位置。

+0

這工作,我添加了一個新的空的LinearLayout在我所有的XML內容的頂部,並指示我的代碼到該LinearLayout!謝謝 – zvzej 2012-03-26 21:19:22

1

以下是documentation關於如何在4.3.1中添加XML的橫幅。

如果您仍然想這樣做的代碼,請嘗試將頂級佈局的RelativeLayout,並使用此代碼:當您添加視圖

adView = new AdView(this, AdSize.BANNER, "my code"); 
AdRequest r = new AdRequest(); 
adView.loadAd(r); 
RelativeLayout layout = (LinearLayout)findViewById(R.id.mainLayout); 
RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(
    RelativeLayout.LayoutParams.WRAP_CONTENT, 
    RelativeLayout.LayoutParams.FILL_PARENT); 
params.addRule(RelativeLayout.ALIGN_PARENT_BOTTOM); 
layout.addView(adView, params); 
+0

我沒有檢查這種方法,因爲頂部工作,但聲音也很穩固!謝謝 – zvzej 2012-03-26 21:19:59

+0

沒問題。我意識到這一點代碼實際上將廣告對齊到屏幕的底部,而不是頂部。如果您希望廣告位於頂部,則LinearLayout可以,因爲您只需首先放置廣告,但沒有好方法可以使用LinearLayouts將元素與屏幕底部對齊。這就是RelativeLayout(以及這一部分代碼)會起作用的地方。 – 2012-03-26 22:56:26

+0

這是很好的知道謝謝你的提示! – zvzej 2012-03-26 23:02:26

0

,與索引添加。這適用於我:

layout.addView(adView, 0);