【问题标题】:Getting admob above actionbarsherlock让 admob 高于 actionbarsherlock
【发布时间】:2012-11-19 08:13:53
【问题描述】:

我想在同一个安卓应用程序中使用 AdMob 和 ActionBarSherlock,但我没有设法将 AdMob 放在我的屏幕顶部(Sherlock ActionBar 上方)。

有人遇到过类似的问题吗?有人知道一些解决方法吗?

谢谢。

我的总体布局:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" > 
<include layout="@layout/admob"/> 
<TabHost
 xmlns:android="http://schemas.android.com/apk/res/android"
 android:id="@android:id/tabhost"
 android:layout_width="match_parent"
 android:layout_height="match_parent">
 <LinearLayout.....

我的 admob 布局:

<?xml version="1.0" encoding="utf-8"?>
<com.google.ads.AdView xmlns:android="http://schemas.android.com/apk/res/android"
                    xmlns:ads="http://schemas.android.com/apk/lib/com.google.ads"
                    android:id="@+id/adView"
                    android:layout_height="wrap_content"
                    ads:adUnitId="123456"
                    ads:adSize="BANNER" 
                    android:layout_width="match_parent"/>

【问题讨论】:

    标签: android admob actionbarsherlock


    【解决方案1】:

    我使用 ActionBarSherlock 作为包装器,以下将广告置于操作栏上方:

    private ActionBarSherlock sherlock = ActionBarSherlock.wrap(this);
    
    @Override
    public void onCreate(Bundle savedInstanceState)
    {
        /* ... set up layout here ... */
    
    
        adView = new AdView(this, AdSize.BANNER, "deadbeefmeat");
    
        ViewParent parentView = appView.getParent();
        do
        {
            parentView = parentView.getParent();
        } while(!(parentView instanceof LinearLayout));
    
        ((LinearLayout)parentView).addView(adView, 0);
    
        AdRequest adRequest = new AdRequest();
        adRequest.addTestDevice(AdRequest.TEST_EMULATOR);
        adView.loadAd(adRequest);
    }
    
    // All setContentView methods are overridden because ActionBarSherlock has to modify the view
    @Override
    public void setContentView(int layoutResID)
    {
        // Don't call super!
        sherlock.setContentView(layoutResID);
    }
    
    @Override
    public void setContentView(View view)
    {
        // Don't call super!
        sherlock.setContentView(view);
    }
    
    @Override
    public void setContentView(View view, LayoutParams params)
    {
        // Don't call super!
        sherlock.setContentView(view, params);
    }
    

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-05-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多