对于那些想要在他们的应用程序中有一个由Fragment布局组成的adView,希望下面能帮助你!
基本上,我最初试图将adView放置在每个片段的布局XML中。这导致adView要么被推出屏幕,要么不能很好地使用相对布局命令(例如alignParentBottom)。
解决方案是将adView移动到用于我的片段的协调器布局之外的主活动布局。然后我在一个相对布局中包装了协调器布局和adView。
这样我就可以完全控制adView并呈现在每个固定在屏幕底部的片段上。
我发现,当我改变你的ScrollView的背景,它画在AdView。你必须在代码中将你的AdView放在ScrollView的下面。这样,它被绘制在ScrollView之后,因此在顶部。
这是你编辑的代码:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:ads="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingLeft="16dp"
android:paddingRight="16dp">
<!-- Dummy item to prevent EditTextView from receiving focus -->
<LinearLayout
android:id="@+id/dummyLayout"
android:layout_width="0dp"
android:layout_height="0dp"
android:focusable="true"
android:focusableInTouchMode="true"
android:orientation="horizontal" />
<!-- Dummy item to prevent EditTextView from receiving focus -->
<LinearLayout
android:id="@+id/linearLayout1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:orientation="horizontal">
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
<TextView
android:id="@+id/textView2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
<EditText
android:id="@+id/editText1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:ems="4"
android:hint="@string/hint"
android:nextFocusLeft="@id/editText1"
android:nextFocusUp="@id/editText1"
android:singleLine="true"/>
<TextView
android:id="@+id/textView3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
</LinearLayout>
<TextView
android:id="@+id/textView4"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/linearLayout1"/>
<Button
android:id="@+id/button1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@id/textView4"/>
<TableLayout
android:id="@+id/tableLayout1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@id/button1"
android:background="@color/colorAccent0"
android:stretchColumns="*"/>
<ScrollView
android:id="@+id/scrollView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@id/tableLayout1"
android:layout_above="@+id/adView"
android:background="@color/colorGray">
<TableLayout
android:id="@+id/tableLayout2"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:stretchColumns="*"/>
</ScrollView>
<com.google.android.gms.ads.AdView
android:id="@+id/adView"
android:layout_width="match_parent"
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>