簡體   English   中英

Admob橫幅不在屏幕底部

[英]Admob banner not at the bottom of the screen

我為Admob編寫了代碼。 這是我的layout.xml文件代碼:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#ffffff"
android:id="@+id/relativeLayoutHomeParent"
tools:context=".Home" xmlns:app="http://schemas.android.com/apk/lib/com.google.ads">

<RelativeLayout
    android:id="@+id/relativeLayoutHomeTopBar"
    android:layout_width="match_parent"
    android:layout_height="50dp"
    android:layout_alignParentLeft="true"
    android:layout_alignParentTop="true" >

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

    <ImageView
        android:id="@+id/imageViewHomeSettings"
        android:layout_width="22dp"
        android:layout_height="22dp"
        android:layout_alignParentRight="true"
        android:layout_centerVertical="true"
        android:src="@drawable/set_settings"
        android:layout_marginRight="10dp" />

</RelativeLayout>

<View
    android:id="@+id/view1"
    android:layout_width="match_parent"
    android:layout_height="5dp"
    android:layout_below="@+id/relativeLayoutHomeTopBar"
    android:background="@drawable/shadow" />

<ListView
    android:id="@+id/listViewHome"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:divider="#BDBDBD"
    android:dividerHeight="1dp"
    android:layout_below="@+id/view1" >
</ListView>

<com.google.ads.AdView
    android:id="@+id/adView"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentBottom="true"
    android:layout_alignParentLeft="true"
    app:adSize="BANNER"
    app:adUnitId="a1512f50d8c3692"
    app:loadAdOnCreate="true"
    app:testDevices="TEST_EMULATOR, TEST_DEVICE_ID" >
</com.google.ads.AdView>

輸出:

屏幕截圖

我的activity.java代碼:

package com.walletapp;

import android.app.Activity;
 import android.app.AlertDialog;
 import android.app.AlertDialog.Builder;
 import android.content.DialogInterface;
 import android.content.Intent;
 import android.content.pm.ActivityInfo;
 import android.database.sqlite.SQLiteDatabase;
 import android.os.Bundle;
 import android.view.KeyEvent;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.ArrayAdapter;
import android.widget.ImageView;
   import android.widget.LinearLayout;
import android.widget.ListView;
import android.widget.RelativeLayout;
import android.widget.TextView;
import android.widget.Toast;

import com.google.ads.AdRequest;
import com.google.ads.AdSize;
import com.google.ads.AdView;

public class Home extends Activity
{
ListView listview_home;
ImageView imageview_settings;
SQLiteDatabase database;
String database_name = "WalletAppDatabase";
private AdView adView;

@Override
protected void onCreate(Bundle savedInstanceState)
{
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_home);

    this.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);

    imageview_settings = (ImageView) findViewById(R.id.imageViewHomeSettings);
    imageview_settings.setClickable(true);
    imageview_settings.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View v)
        {               
            startActivity(new Intent(Home.this, Settings.class));
        }
    });

    String[] home_items = new String[] {"All", "Categories", "Tags", "Favourites"};
    ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, R.layout.single_row_home, R.id.textViewSingleRowHome, home_items);
    listview_home = (ListView) findViewById(R.id.listViewHome);
    listview_home.setAdapter(adapter);
    listview_home.setOnItemClickListener(new OnItemClickListener()
                                        {
                                            @Override
                                            public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, long arg3)
                                            {
                                                String selected = ((TextView) arg1.findViewById(R.id.textViewSingleRowHome)).getText().toString();

                                                switch(arg2)
                                                {
                                                    case 0:

                                                        Toast.makeText(getBaseContext(), "Yet to be code for "+selected, Toast.LENGTH_SHORT).show();
                                                        break;

                                                    case 1:

                                                        Toast.makeText(getBaseContext(), "Yet to be code for "+selected, Toast.LENGTH_SHORT).show();
                                                        break;

                                                    case 2:

                                                        Toast.makeText(getBaseContext(), "Yet to be code for "+selected, Toast.LENGTH_SHORT).show();
                                                        break;

                                                    case 3:

                                                        Toast.makeText(getBaseContext(), "Yet to be code for "+selected, Toast.LENGTH_SHORT).show();
                                                        break;
                                                }
                                            }
                                        }
                                    );

    adView = new AdView(this, AdSize.BANNER, "a1512f50d8c3692");
    RelativeLayout layout = (RelativeLayout)findViewById(R.id.relativeLayoutHomeParent);
    layout.addView(adView);
    adView.loadAd(new AdRequest());
}

@Override
public boolean onKeyDown(int keyCode, KeyEvent event)
{
    if(keyCode == KeyEvent.KEYCODE_BACK && event.getRepeatCount() == 0)
    {
        showQuitDialog();
        return true;
    }
    return super.onKeyDown(keyCode, event);
}

private void showQuitDialog()
{
    AlertDialog.Builder adb = new Builder(this);
    adb.setTitle("Warning !!!");
    adb.setMessage("Are you sure you want to quit ?");
    adb.setIcon(R.drawable.ic_launcher);
    adb.setPositiveButton("Yes",new DialogInterface.OnClickListener()
                                    {
                                        public void onClick(DialogInterface arg0, int arg1)
                                        {
                                            if(database.isOpen())
                                                database.close();
                                            finish();
                                        }
                                    }
                        );

    adb.setNegativeButton("No",new DialogInterface.OnClickListener()
                                    {
                                        public void onClick(DialogInterface arg0, int arg1)
                                        {
                                            arg0.dismiss();
                                        }
                                    }
                            );
    AlertDialog ad = adb.create();
    ad.show();
}

@Override
public void onDestroy()
{
    if (adView != null)
    {
        adView.destroy();
    }
    super.onDestroy();
}
}

我想要位於屏幕底部頂部的欄(是黑色欄)。 我也為此寫了,但是它顯示的輸出如上圖所示。

我也不明白哪一個是admob橫幅,最上面的還是最下面的? 誰能解釋這兩個酒吧的區別。 其實我是新來的。 這是我第一次為admob編寫代碼。 請幫我學習。

兩者都是admob banner 如果您希望在底部顯示廣告,請從“ Activity刪除以下代碼,因為您已經在xml中添加了底部代碼。

adView = new AdView(this, AdSize.BANNER, "a1512f50d8c3692");
RelativeLayout layout = (RelativeLayout)findViewById(R.id.relativeLayoutHomeParent);
layout.addView(adView);
adView.loadAd(new AdRequest());

只需刪除此:

adView = new AdView(this, AdSize.BANNER, "a1512f50d8c3692");
RelativeLayout layout = (RelativeLayout)findViewById(R.id.relativeLayoutHomeParent);
layout.addView(adView);
adView.loadAd(new AdRequest());

您的xml布局中已經有一個adView。

相反,請執行以下操作:

adView = (AdView) findViewById(R.id.adView);
adView.loadAd(new AdRequest());

但是,您可能需要在加載廣告之前編輯該AdRequest。 這實際上是可選的,由您自己決定,但是如果您這樣做,您的收入(據說)會增加。

並且,在以SO復制粘貼代碼之前,請先對其進行格式化。 在Eclipse中,您只需按Ctrl + Shift + F

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM