gpt4 book ai didi

android - 将 Admob 添加到 ScrollView -> AdBanner 消失

转载 作者:太空狗 更新时间:2023-10-29 16:24:19 26 4
gpt4 key购买 nike

大家好到目前为止,我设法将 Admob 实现为正常的线性布局。现在我添加了一个额外的 scrollview 并且 adbanner 消失了。我不知道我能做些什么来对抗它。

遵循 .xml 中我添加了 scrollview 的代码:

   <?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/linearLayout"
android:orientation="vertical"
android:layout_width="fill_parent" android:layout_height="match_parent">
<ScrollView android:id="@+id/scrollView1" android:layout_height="wrap_content" android:layout_width="match_parent">
<LinearLayout android:id="@+id/linearLayout1" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical">

[whole bunch of layout elements whoch shouldn´t affect the adbanner]

</LinearLayout>
</ScrollView>

在我的线性布局中,adbanner 仍然有效,整个 adbanner 位置是在主 activitiy.java 文件中完成的(在 taiic.com 的教程的帮助下完成)

    // Lookup R.layout.main
LinearLayout layout = (LinearLayout)findViewById(R.id.linearLayout);

// Create the adView
// Please replace MY_BANNER_UNIT_ID with your AdMob Publisher ID
String pubID = "xxxxxxxxxxxxxxxxxx";
AdView adView = new AdView(this, AdSize.BANNER, pubID);

// Add the adView to it
layout.addView(adView);

// Initiate a generic request to load it with an ad
AdRequest request = new AdRequest();
request.setTesting(true);

adView.loadAd(request);

谁能告诉我在 scrollview 中实现 admob 横幅时要更改什么或添加什么代码?

编辑:

我试着添加

<com.admob.android.ads.AdView
android:id="@+id/ad"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
myapp:backgroundColor="#000000"
myapprimaryTextColor="#FFFFFF"
myapp:secondaryTextColor="#CCCCCC"
android:alignParentBottom="true"/>

在 .xml 的最后两行之间

  </LinearLayout>
[here]
</ScrollView>

但随后我收到错误“错误:解析 XML 时出错:未绑定(bind)前缀”

干杯

最佳答案

关于解析错误:

这是问题中的错字吗? myapprimaryTextColor="#FFFFFF" 而不是 myapp:primaryTextColor="#FFFFFF" 。这会给你 xml 解析错误。


关于布局:

使用相对布局。 工作代码在文章末尾。首先,一些理论:)

您的 ScrollView 占据了整个屏幕,这就是您看不到 admob View 的原因。定义 ScrollView 后,所有屏幕都可用,因此它会占用它。 admob View 实际上绘制在屏幕下方。它可以在这个例子中重现:

非工作布局

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/linearLayout"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<ScrollView android:id="@+id/scrollView1"
android:layout_height="wrap_content"
android:layout_width="fill_parent">
<LinearLayout android:id="@+id/linearLayout1"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical"
>
<EditText
android:layout_width="fill_parent"
android:layout_height="300dp"
android:text="Test1"
/>
<EditText
android:layout_width="fill_parent"
android:layout_height="300dp"
android:text="Test2"
/>
<EditText
android:layout_width="fill_parent"
android:layout_height="300dp"
android:text="Test3"
/>
</LinearLayout>
</ScrollView>
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="Test4"
/>
</LinearLayout>

如果您改为使用 RelativeLayout,则可以将其设置为使 admob 与屏幕底部对齐,并在其上方对齐 scrollview,占用剩余的可用空间。

工作布局

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="Test4"
android:id="@+id/test4"
android:layout_alignParentBottom="true"
/>
<ScrollView android:id="@+id/scrollView1"
android:layout_height="wrap_content"
android:layout_width="fill_parent"
android:layout_above="@id/test4"
>
<LinearLayout android:id="@+id/linearLayout1"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical"
>
<EditText
android:layout_width="fill_parent"
android:layout_height="300dp"
android:text="Test1"
/>
<EditText
android:layout_width="fill_parent"
android:layout_height="300dp"
android:text="Test2"
/>
<EditText
android:layout_width="fill_parent"
android:layout_height="300dp"
android:text="Test3"
/>
</LinearLayout>
</ScrollView>
</RelativeLayout>

关于android - 将 Admob 添加到 ScrollView -> AdBanner 消失,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5979932/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com