2011-02-06 89 views
1

對於我的應用程序,我使用清單文件中的主題功能隱藏了我的活動的標題欄和通知欄。在活動的底部,我想要有一個48dip高的廣告橫幅,在這個空間的其餘部分應該填充一個來自我的GameView類的對象,在這裏它只是延續了Lunar Lander示例中的SurfaceView。將橫幅放置在佈局底部的問題

我目前的佈局做這個任務對我來說:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:layout_width="fill_parent" android:layout_height="fill_parent" 
android:orientation="vertical"> 

    <GameView android:id="@+id/game_view" 
     android:layout_width="wrap_content" android:layout_height="wrap_content" 
      android:layout_weight="1"> 

<com.admob.android.ads.AdView android:id="@+id/ad" 
    android:layout_width="fill_parent" android:layout_height="48dip" /> 

</LinearLayout> 

然而,當我從我的應用程序中切換出來與Home鍵(通知欄要返回的情況下),然後切換回問題到我的活動。當我切換回來時,屏幕短時間變黑,我的繪製表面視圖出現在通知欄下方,通知欄隨後呈現動畫並消失,然後我的表面視圖切換到屏幕頂部。現在的問題是,黑色的水平矩形現在掩蓋了我的廣告橫幅的頂部,此橫條與通知欄的高度相同。 ASCII藝術:

------------- 
|   | 
|   | <- surface view the same size as expected 
|   | 
|   | 
############# <- black rectangle 
|   | <- ad banner with the top part masked by the rectangle 
------------- 

這是因爲如果該意見的通知欄前奠定了消失,當欄消失的觀點再次佈局,但出現問題奠定了廣告欄。

有關如何解決此問題的任何提示?

我在Android 2.1上,如果它有幫助。我嘗試了一種替代的RelativeLayout方法,但遇到同樣的問題。另一種選擇可能會解決它,但我想不出任何東西。

編輯:相關清單代碼設置我的活動:

<application android:label="@string/app_name" android:icon="@drawable/app_icon"> 
    <activity android:name="MainActivity" android:label="@string/app_name" 
     android:screenOrientation="portrait" android:configChanges="keyboardHidden|orientation" 
     android:theme="@android:style/Theme.NoTitleBar.Fullscreen"> 
     <intent-filter> 
      <action android:name="android.intent.action.MAIN" /> 
      <category android:name="android.intent.category.LAUNCHER" /> 
     </intent-filter> 
    </activity> 
.... 
+0

請從你的Activity中發佈一些代碼,顯示哪些方法正在設置'NO_TITLE`和`FULLSCREEN`標誌以及順序。 – Blrfl 2011-02-06 12:49:38

+0

謝謝,我添加了我的清單代碼,將應用程序設置爲全屏。我不使用方法調用來做這件事。 – rbcc 2011-02-06 17:36:55

回答

0

如果您在使用清單android:theme="@android:style/Theme.NoTitleBar.Fullscreen"而不是刪除通過Java代碼中的通知欄這個問題可能會消失。 Leastways,當我使用此主題進行this sample project測試時,我看不到您描述的動畫效果。