AdView 与 RecyclerView 的最后一项重叠
AdView overlaps last item of RecyclerView
我希望随附的屏幕截图能说明我的问题,RecyclerView
列表中的最后一项与 AdView
重叠。
向 RecyclerView
添加底部填充和边距,在 AdView
后面的底部留下空白 space,这是不可取的。
有什么方法可以设置过度滚动或滚动偏移吗?
任何快速 solutions/suggestion 都会有所帮助,在此先感谢。
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<android.support.v7.widget.RecyclerView
android:id="@+id/rvProverbs"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:spanCount="4"
/>
<com.google.android.gms.ads.AdView
xmlns:ads="http://schemas.android.com/apk/res-auto"
android:id="@+id/adView2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_alignParentBottom="true"
ads:adSize="BANNER"
ads:adUnitId="@string/ad_unit_id">
</com.google.android.gms.ads.AdView>
</RelativeLayout>
User android:layout_above=""
属性 inside RecyclerView
并将 AdView
的 id 提供给 .
喜欢
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<android.support.v7.widget.RecyclerView
android:id="@+id/rvProverbs"
android:layout_width="match_parent"
android:layout_above="@+id/adView2"
android:layout_height="match_parent"
app:spanCount="4"
/>
<com.google.android.gms.ads.AdView
xmlns:ads="http://schemas.android.com/apk/res-auto"
android:id="@+id/adView2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_alignParentBottom="true"
ads:adSize="BANNER"
ads:adUnitId="@string/ad_unit_id">
</com.google.android.gms.ads.AdView>
</RelativeLayout>
属性为 adSize="BANNER"
的横幅高度为 50 dp。
最简单的解决方案可能是向 RecyclerView
添加 50 dp(或更大)的底部填充并将 clipToPadding
设置为 false
:
<android.support.v7.widget.RecyclerView
android:id="@+id/rvProverbs"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="50dp"
android:clipToPadding="false"
app:spanCount="4" />
如果您的 AdView
具有动态高度(或者您只想在加载 AdView
时添加填充),您也只需要动态设置填充,从代码。
例如:
adView.setAdListener(new AdListener() {
@Override
public void onAdLoaded() {
recyclerView.setPadding(0, 0, 0, adView.getHeight());
// recyclerView.setClipToPadding(false);
}
});
试试这个代码..
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<android.support.v7.widget.RecyclerView
android:id="@+id/rvProverbs"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:spanCount="4"
android:layout_above="@+id/adView2"
android:layout_marginBottom="10dp"
/>
<com.google.android.gms.ads.AdView
xmlns:ads="http://schemas.android.com/apk/res-auto"
android:id="@+id/adView2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_alignParentBottom="true"
ads:adSize="BANNER"
ads:adUnitId="@string/ad_unit_id">
</com.google.android.gms.ads.AdView>
我希望随附的屏幕截图能说明我的问题,RecyclerView
列表中的最后一项与 AdView
重叠。
向 RecyclerView
添加底部填充和边距,在 AdView
后面的底部留下空白 space,这是不可取的。
有什么方法可以设置过度滚动或滚动偏移吗?
任何快速 solutions/suggestion 都会有所帮助,在此先感谢。
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<android.support.v7.widget.RecyclerView
android:id="@+id/rvProverbs"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:spanCount="4"
/>
<com.google.android.gms.ads.AdView
xmlns:ads="http://schemas.android.com/apk/res-auto"
android:id="@+id/adView2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_alignParentBottom="true"
ads:adSize="BANNER"
ads:adUnitId="@string/ad_unit_id">
</com.google.android.gms.ads.AdView>
</RelativeLayout>
User android:layout_above=""
属性 inside RecyclerView
并将 AdView
的 id 提供给 .
喜欢
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<android.support.v7.widget.RecyclerView
android:id="@+id/rvProverbs"
android:layout_width="match_parent"
android:layout_above="@+id/adView2"
android:layout_height="match_parent"
app:spanCount="4"
/>
<com.google.android.gms.ads.AdView
xmlns:ads="http://schemas.android.com/apk/res-auto"
android:id="@+id/adView2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_alignParentBottom="true"
ads:adSize="BANNER"
ads:adUnitId="@string/ad_unit_id">
</com.google.android.gms.ads.AdView>
</RelativeLayout>
属性为 adSize="BANNER"
的横幅高度为 50 dp。
最简单的解决方案可能是向 RecyclerView
添加 50 dp(或更大)的底部填充并将 clipToPadding
设置为 false
:
<android.support.v7.widget.RecyclerView
android:id="@+id/rvProverbs"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="50dp"
android:clipToPadding="false"
app:spanCount="4" />
如果您的 AdView
具有动态高度(或者您只想在加载 AdView
时添加填充),您也只需要动态设置填充,从代码。
例如:
adView.setAdListener(new AdListener() {
@Override
public void onAdLoaded() {
recyclerView.setPadding(0, 0, 0, adView.getHeight());
// recyclerView.setClipToPadding(false);
}
});
试试这个代码..
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<android.support.v7.widget.RecyclerView
android:id="@+id/rvProverbs"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:spanCount="4"
android:layout_above="@+id/adView2"
android:layout_marginBottom="10dp"
/>
<com.google.android.gms.ads.AdView
xmlns:ads="http://schemas.android.com/apk/res-auto"
android:id="@+id/adView2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_alignParentBottom="true"
ads:adSize="BANNER"
ads:adUnitId="@string/ad_unit_id">
</com.google.android.gms.ads.AdView>