Reputation: 7243
I'm targetting my app for phones and tablets. I've created a fragments.xml
on /layout
and on /layout-land
.
On the class that manages the fragments I've put this:
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.fragments);
adView = (AdView) this.findViewById(R.id.adView);
AdRequest adRequest = new AdRequest.Builder().build();
adView.loadAd(adRequest);
if (findViewById(R.id.fragmentsboth) != null) {
numberOfPanes = 1;
if (savedInstanceState != null) {
return;
}
QueryFragment firstFragment = new QueryFragment();
getSupportFragmentManager().beginTransaction().add(R.id.fragmentsboth, firstFragment).commit();
} else if (savedInstanceState == null) {
QueryFragment firstFragment = new QueryFragment();
getSupportFragmentManager().beginTransaction().add(R.id.fragment_one, firstFragment).commit();
if (operation != 5) {
Infodata secondFragment = new Infodata();
getSupportFragmentManager().beginTransaction().add(R.id.fragment_two, secondFragment).commit();
} else {
Compare secondFragment = new Compare();
getSupportFragmentManager().beginTransaction().add(R.id.fragment_two, secondFragment).commit();
}
}
}
I've added the AdView
to both of my fragments.xml
and it is working as expected on the phone. The ad is show.
On the tablet, I can see the space for the ad but no add is show.
Here is the code from fragments.xml
for the tablets:
<?xml version="1.0" encoding="utf-8"?>
<android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/drawer_layout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/lightgrey">
<LinearLayout
android:id="@+id/fragment_container"
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/lightgrey"
android:baselineAligned="false">
<LinearLayout
android:id="@+id/fragment_one"
android:orientation="horizontal"
android:layout_width="0dp"
android:layout_weight="1"
android:layout_height="fill_parent"
android:background="@color/lightgrey">
</LinearLayout>
<LinearLayout
android:id="@+id/LinearLayout01"
android:layout_width="0dp"
android:layout_weight="2"
android:layout_height="fill_parent"
xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:baselineAligned="false">
<LinearLayout
android:id="@+id/fragment_two"
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="0dp"
android:background="@color/lightgrey"
android:layout_weight="1">
</LinearLayout>
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<com.google.android.gms.ads.AdView
android:id="@+id/adView"
xmlns:ads="http://schemas.android.com/apk/res-auto"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
ads:adUnitId="12121212"
ads:adSize="SMART_BANNER"
android:layout_gravity="center|bottom"
android:layout_alignParentStart="true"/>
</LinearLayout>
</LinearLayout>
</LinearLayout>
<ListView
android:id="@+id/list_slidermenu"
android:layout_width="240dp"
android:layout_height="match_parent"
android:layout_gravity="start"
android:choiceMode="singleChoice"
android:divider="@color/orange"
android:dividerHeight="1dp"
android:listSelector="@drawable/menulist_selector"
android:background="@color/lblack"/>
</android.support.v4.widget.DrawerLayout>
Why isn't the ad shown?
Upvotes: 0
Views: 1491
Reputation: 6711
When LogCat displays something like:
WARN/Ads(3805): Not enough space to show ad! Wants: <xxx, xx>, Has: <xxx, xx>.
it means the Ad has no space to be displayed. Your Layout
is occupying all the height on the view. So even if you specifies AdView in your layot, It is getting 0 height.
Upvotes: 2