我想在Android Actionbar的顶部(上方)放置一个AdMob广告。
我尝试过以下方法:
- 黄色 = ActionBar
- 红色 = 内容
- 绿色 = AdMob
我尝试过以下方法:
private AdView adView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// main view setup
setContentView(R.layout.main);
this.getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
// actionbar setup
ActionBar actionBar = getActionBar();
actionBar.setTitle("Search");
actionBar.setDisplayHomeAsUpEnabled(true);
final LinearLayout content = (LinearLayout) findViewById(android.R.id.content).getParent();
// Create the adView
adView = new AdView(this, AdSize.BANNER, "ID");
// Lookup your LinearLayout assuming it’s been given
// the attribute android:id="@+id/mainLayout"
// Add the adView to it
FrameLayout.LayoutParams parm = (FrameLayout.LayoutParams) content.getLayoutParams();
parm.gravity = Gravity.TOP;
content.addView(adView);
// Initiate a generic request to load it with an ad
AdRequest adRequest = new AdRequest();
adRequest.addTestDevice("TEST_DEVICE_ID");
adView.loadAd(adRequest);
}
下面是我应用程序的层次结构视图的一部分。视图“id / main”是我的主要布局。 如图所示,ActionBar具有名为“id / action_bar_container”的ID。在上面的代码中,我设法访问FrameLayout“content”,但我无法访问action_bar_container视图。因为它们在同一层次结构级别上(我想),所以应该可以以某种方式访问ActionBar视图。
但它没有起作用: 有什么想法如何实现这一点,或者一个链接说明它如何工作,或者一个官方声明说它不起作用。