2013-06-17 11 views
11

私は自分のアプリケーションでNavigation-Drawerを使用しています。navigation_drawerレイアウトで単一のアクティビティを作成しました。ユーザーがメニューオプションを選択するたびにフラグメントを使用してメインコンテンツエリア(@ + id/content_frame)私の問題は、すべての画面でadmob広告を表示したいということです。私は、広告レイアウトを初期化してFrameLayoutに展開するためにフラグメントを使用できますが、良いオプションではないと思います。広告を初期化する方法はありますかその単一の活動を使用してですか?あなたがDrawerLayoutの内部のレイアウトを使用することができますDrawerLayout with Admob ad

navigation_drawer.xml

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

    <!-- The main content view --> 

    <FrameLayout 
     android:id="@+id/content_frame" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" /> 

    <!-- The navigation drawer --> 

    <ListView 
     android:id="@+id/left_drawer" 
     android:layout_width="240dp" 
     android:layout_height="match_parent" 
     android:layout_gravity="start" 
     android:background="@color/side_navigation_background" 
     android:cacheColorHint="#00000000" 
     android:choiceMode="singleChoice" 
     android:divider="@color/side_navigation_list_divider_color" 
     android:dividerHeight="1dp" /> 

</android.support.v4.widget.DrawerLayout> 

答えて

32

。下に示す.xmlでは、このアクティビティの最後にあるadmob広告を使用して、単一のアクティビティ(RelativeLayoutを使用)のフラグメントを切り替えることができます。断片はdrawerlayoutに含まれていても

<android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android" 
     xmlns:ads="http://schemas.android.com/apk/res-auto" 
     android:id="@+id/drawer_layout" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" > 

     <RelativeLayout 
      android:id="@+id/relative_layout" 
      android:layout_width="match_parent" 
      android:layout_height="match_parent" > 

      <FrameLayout 
       android:id="@+id/fragment" 
       android:layout_width="fill_parent" 
       android:layout_height="fill_parent" 
       android:layout_above="@+id/adView" 
       android:background="@color/background" /> 

      <com.google.android.gms.ads.AdView 
       android:id="@+id/adView" 
       android:layout_width="fill_parent" 
       android:layout_height="wrap_content" 
       android:layout_alignParentBottom="true" 
       ads:adSize="SMART_BANNER" 
       ads:adUnitId="AD_UNIT_IT" 
       ads:testDevices="TEST_EMULATOR, TEST_DEVICE_ID" 
       android:gravity="bottom" /> 
     </RelativeLayout> 

     <ListView 
      android:id="@+id/left_drawer" 
      android:layout_width="240dp" 
      android:layout_height="match_parent" 
      android:layout_gravity="start" 
      android:background="@color/white" 
      android:choiceMode="singleChoice"/> 
</android.support.v4.widget.DrawerLayout> 
+1

ようrelativelayout使用して追加することができます.. – Ahmed

0

、adviewは、おかげで非常に有用

<RelativeLayout 
     android:id="@+id/relative_layout" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" > 
    <include 
     layout="@layout/app_bar_main" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" /> 

     <com.google.android.gms.ads.AdView 
      android:id="@+id/adView" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:layout_alignParentBottom="true" 
      android:layout_alignParentLeft="true" 
      android:layout_alignParentStart="true" 
      ads:adSize="BANNER" 
      ads:adUnitId="@string/banner_ad_unit_id"/> 
    </RelativeLayout>