猿问

如何为横幅腾出空间

布局很简单,一个 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"就像calc在 CSS 中一样。


紫衣仙女
浏览 94回答 2
2回答

慕标5832272

android:layout_height="match_parent - 50dp"在Android中没有这样的选择。要集成 Facebook 受众网络,您需要先创建一个带有banner_container. 您可以考虑使用不同的布局结构,如下所示,使用RelativeLayout.<?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"&nbsp; &nbsp; android:layout_width="match_parent"&nbsp; &nbsp; android:layout_height="match_parent">&nbsp; &nbsp; <WebView&nbsp; &nbsp; &nbsp; &nbsp; android:id="@+id/webview"&nbsp; &nbsp; &nbsp; &nbsp; android:layout_width="match_parent"&nbsp; &nbsp; &nbsp; &nbsp; android:layout_height="match_parent"&nbsp; &nbsp; &nbsp; &nbsp; android:layout_above="@+id/banner_container" />&nbsp; &nbsp; <LinearLayout&nbsp; &nbsp; &nbsp; &nbsp; android:id="@+id/banner_container"&nbsp; &nbsp; &nbsp; &nbsp; android:layout_width="match_parent"&nbsp; &nbsp; &nbsp; &nbsp; android:layout_height="50dp"&nbsp; &nbsp; &nbsp; &nbsp; android:layout_alignParentBottom="true"&nbsp; &nbsp; &nbsp; &nbsp; android:orientation="vertical" /></RelativeLayout>

森林海

您可以使用现有布局,只需在 Webview 下方添加一个 LinearLayout。不要忘记在 Webview 中添加 android:layout_weight="1"<LinearLayoutandroid:layout_width="match_parent"android:layout_height="match_parent"android:layout_alignParentBottom="true"android:orientation="vertical"><WebView&nbsp; &nbsp; android:id="@+id/webview"&nbsp; &nbsp; android:layout_width="match_parent"&nbsp; &nbsp; android:layout_height="match_parent"&nbsp; &nbsp; android:layout_weight="1"></WebView><LinearLayout&nbsp; &nbsp; android:id="@+id/banner_container"&nbsp; &nbsp; android:layout_width="match_parent"&nbsp; &nbsp; android:layout_height="wrap_content"&nbsp; &nbsp; 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();
随时随地看视频慕课网APP

相关分类

Java
我要回答