如何为横幅留出空间

时间:2019-04-24 16:36:35

标签: java android facebook-audience-network banner-ads

布局简单,一个WebView和一个Banner(AD)。

我写了如下XML:

<LinearLayout
    android:id="@+id/banner_container"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_alignParentBottom="true"
    android:orientation="vertical">
    <WebView
        android:id="@+id/webview"
        android:layout_width="match_parent"
        android:layout_height="match_parent"></WebView>
</LinearLayout>

这是创建横幅运行时的代码。

// This code is copied & pasted from AudienceNetwork's guide page
adView = new AdView(this, "PLACEMENT_ID", AdSize.BANNER_HEIGHT_50);
LinearLayout adContainer = (LinearLayout) findViewById(R.id.banner_container);
adContainer.addView(adView);
adView.loadAd();

此代码无效,横幅显示在屏幕外部。 因此,我要寻找的是android:layout_height="match_parent - 50dp",就像CSS中的calc

2 个答案:

答案 0 :(得分:4)

在Android中没有这样的选择android:layout_height="match_parent - 50dp"

要集成Facebook受众网络,您需要首先使用banner_container创建xml。您可以考虑使用其他类似RelativeLayout的布局结构。

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <WebView
        android:id="@+id/webview"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_above="@+id/banner_container" />

    <LinearLayout
        android:id="@+id/banner_container"
        android:layout_width="match_parent"
        android:layout_height="50dp"
        android:layout_alignParentBottom="true"
        android:orientation="vertical" />
</RelativeLayout>

答案 1 :(得分:1)

您可以使用现有布局,只需在Webview下添加LinearLayout。不要忘记在Webview中添加android:layout_weight =“ 1”

<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_alignParentBottom="true"
android:orientation="vertical">
<WebView
    android:id="@+id/webview"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_weight="1"></WebView>

<LinearLayout
    android:id="@+id/banner_container"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="vertical" />

然后使用您现有的代码

adView = new AdView(this, "PLACEMENT_ID", AdSize.BANNER_HEIGHT_50);
LinearLayout adContainer = (LinearLayout) findViewById(R.id.banner_container);
adContainer.addView(adView);
adView.loadAd();