AdMob Adview重叠TableRow按钮标题

时间:2016-01-13 03:03:28

标签: android xml layout admob android-scrollview

我一直在使用以下布局开发类似应用的音板

 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        xmlns:ads="http://schemas.android.com/apk/res-auto"
        xmlns:app="http://schemas.android.com/tools">
        <android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
            xmlns:app="http://schemas.android.com/apk/res-auto"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:layout_above="@+id/adView">
            <android.support.design.widget.AppBarLayout
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                >
                    <android.support.v7.widget.Toolbar
                        android:id="@+id/toolbar"
                        android:layout_width="match_parent"
                        android:layout_height="?attr/actionBarSize"
                        android:background="?attr/colorPrimary"
                        android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
                        app:layout_scrollFlags="scroll|exitUntilCollapsed"
                        app:titleTextAppearance="@style/Toolbar.TitleText"
                        app:layout_collapseMode="pin"/>
            </android.support.design.widget.AppBarLayout>

            <android.support.v4.widget.NestedScrollView
                xmlns:android="http://schemas.android.com/apk/res/android"
                xmlns:ads="http://schemas.android.com/apk/res-auto"
                android:layout_width="fill_parent"
                android:layout_height="match_parent"
                app:layout_behavior="@string/appbar_scrolling_view_behavior"
                >
    <TableLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_gravity="center_horizontal"
            android:stretchColumns="0,1">
    <TableRow...>
    <TableRow...>
    <TableRow...>
    <TableRow...>
    <TableRow...>
    ....(some more rows, all of them with two buttons in each one)

     </TableLayout>
    </android.support.v4.widget.NestedScrollView>

    </android.support.design.widget.CoordinatorLayout>
        <com.google.android.gms.ads.AdView
            android:id="@+id/adView"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentBottom="true"
            android:layout_centerHorizontal="true"
            ads:adSize="BANNER"
            ads:adUnitId="@string/banner_ad_unit_id">
        </com.google.android.gms.ads.AdView>
    </RelativeLayout>

创建主活动后,我会设置布局并将广告加载到广告视图中。

protected void onCreate(Bundle savedInstanceState) {
        Button b1,b2,b3,b4,b5,b6,b7,b8;
        Toolbar mToolbar;

        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        mToolbar = (Toolbar) findViewById(R.id.toolbar);
        setSupportActionBar(mToolbar);

        if (getSupportActionBar() != null)
        {
            getSupportActionBar().setDisplayShowHomeEnabled(true);
        }

        AdView mAdView = (AdView) findViewById(R.id.adView);
        AdRequest adRequest = new AdRequest.Builder().build();

        mAdView.loadAd(adRequest);

我遇到的问题是,当应用程序第一次启动时,加载广告横幅时,如果我决定滚动到底部,一旦广告被显示,它就会重叠标题最后两个按钮。但是,一旦广告刷新(30秒是实际刷新时间),或者我按下“返回”按钮并重新进入应用程序,横幅不再覆盖缺少的标题。

见附图。我想知道是否可以从布局或代码中更改某些内容,以避免在第一次加载应用程序时出现此问题。

Correct layout after refresh of banner

Banner overlaping the caption of the last buttons

1 个答案:

答案 0 :(得分:0)

TableLayout添加50 px的下边距,并留出横幅空格以避免显示不一致。

 <TableLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginBottom="50dp"
        android:layout_gravity="center_horizontal"
        android:stretchColumns="0,1">