开发者

How to get ad to show at bottom of screen without overlap

I have an admob ad banner which I'd like to put at the bottom of my screen, and have the rest of the content resize to fill the available space when the ad loads in. I s开发者_运维知识库ee the exact thing I want happen when I put the ad at the top of a linear layout and then have my content's height set to fill_parent. Is this possible to achieve in reverse? When I put my ad underneath my content with the fill_parent height, it doesn't show as there is not enough room. I have a solution with a relative layout and a margin on the bottom to save the space for the ad, but I don't like the black space that is there until the ad loads (if it does at all). Any ideas?


You can do that by using RelativeLayout without doing hackish stuff:

<?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">
    <bla.bla.AdView
            android:id="@+id/ad"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_alignParentBottom="true"
            android:background="#FF0000"/>
    <ListView
            android:id="@android:id/list"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:layout_above="@id/ad"/>
</RelativeLayout>

If the ad does not load for some strange reason, the ListView will take all the available space. On the other hand, if the ad does load, the ListView won't be overlapped by the ad.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜