如何在android中的页面底部设置admob?

时间:2012-01-13 05:06:47

标签: android admob

我设计了一个布局,我必须将admob放在页面底部。我无法设置页面的底部。我使用下面的代码。

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical" >



    <LinearLayout
        android:id="@+id/linearLayout1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"

        >

         <TableLayout
        android:id="@+id/tableLayout1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center"
        android:paddingTop="30dp"
        android:orientation="vertical"
         >

        <TableRow
            android:id="@+id/tableRow1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content" >

            <ImageView
                android:id="@+id/train"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:src="@drawable/atrd" />



            <ImageView
                android:id="@+id/fares"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"

                android:src="@drawable/afrs" />

        </TableRow>
        <TableRow
                android:id="@+id/tableRow2"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content" >

            <TextView
                android:id="@+id/textView1"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="FindTrains" />

            <TextView
                android:id="@+id/textView2"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:paddingLeft="5dp"
                android:text="Fares" />

            </TableRow>
            <TableRow
            android:id="@+id/tableRow1"
            android:layout_width="wrap_content"
            android:layout_marginTop="5dp"
            android:layout_height="wrap_content" >

            <ImageView
                android:id="@+id/route"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:src="@drawable/arts" />



            <ImageView
                android:id="@+id/routemap"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:src="@drawable/artms" />

        </TableRow>
        <TableRow
                android:id="@+id/tableRow2"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content" >

            <TextView
                android:id="@+id/textView1"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="Routes" />

            <TextView
                android:id="@+id/textView2"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                 android:paddingLeft="5dp"
                android:text="Routemap" />

            </TableRow>
            <TableRow
            android:id="@+id/tableRow1"
            android:layout_width="wrap_content"
            android:layout_marginTop="5dp"
            android:layout_height="wrap_content" >

            <ImageView
                android:id="@+id/enqury"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:src="@drawable/aeqs" />



            <ImageView
                android:id="@+id/information"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:src="@drawable/ainfs" />

        </TableRow>
        <TableRow
                android:id="@+id/tableRow2"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content" >

            <TextView
                android:id="@+id/textView1"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="Enqury" />

            <TextView
                android:id="@+id/textView2"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="Information" 
                 android:paddingLeft="5dp"/>

            </TableRow>
    </TableLayout>
    </LinearLayout>
    <LinearLayout
             android:id="@+id/linearLayout2"
             android:layout_width="fill_parent"
             android:layout_height="wrap_content"
             >

          <com.admob.android.ads.AdView
              android:id="@+id/adview"
              android:layout_width="fill_parent"
              android:layout_height="match_parent" />

         </LinearLayout>
</LinearLayout>

任何人都可以告诉我我做错了什么。 提前谢谢。

3 个答案:

答案 0 :(得分:2)

将RelativeLayout作为根布局,然后将LinearLayout(包含admob视图)设置为 android:layout_alignParentBottom =“true”,例如见:

<?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"
    >

    <LinearLayout
    xmlns:ads="http://schemas.android.com/apk/lib/com.google.ads"
    android:id="@+id/relativeAd"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_centerHorizontal="true"
    android:gravity="center">

<com.google.ads.AdView android:id="@+id/adView"
                         android:layout_width="fill_parent"
                         android:layout_height="wrap_content"
                         ads:adUnitId="@string/admob_id"
                         ads:adSize="BANNER"
                         ads:loadAdOnCreate="true"
                         />
         </LinearLayout>

<!-- other codes here -->

</RelativeLayout>

试试这个。

答案 1 :(得分:1)

您可以在xml的底部声明一个LinearLayout并为其指定ID。接下来写这段代码

@Override
public void onCreate(Bundle savedInstanceState) {
    // Create the adView
    adView = new AdView(this, AdSize.BANNER, MY_AD_UNIT_ID);

    // Lookup your LinearLayout assuming it’s been given
    // the attribute android:id="@+id/mainLayout"
    LinearLayout layout = (LinearLayout)findViewById(R.id.mainLayout);

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

    // Initiate a generic request to load it with an ad
    adView.loadAd(new AdRequest());
}

@Override
public void onDestroy() {
    adView.destroy();
    super.onDestroy();
}

答案 2 :(得分:0)

您还可以在代码中使用android:layout_weight="1" linearLayout1属性。

喜欢这样:

   <LinearLayout
        android:id="@+id/linearLayout1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_weight="1" >

        <TableLayout
           ........
  </LinearLayout>

    <LinearLayout
        android:id="@+id/linearLayout2"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content" >

        <com.admob.android.ads.AdView
            android:id="@+id/adview"
            android:layout_width="fill_parent"
            android:layout_height="match_parent" />
    </LinearLayout>

这可以解决您的问题,而不会打扰您的代码。