對於我的應用程序,我使用清單文件中的主題功能隱藏了我的活動的標題欄和通知欄。在活動的底部,我想要有一個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>
....
請從你的Activity中發佈一些代碼,顯示哪些方法正在設置'NO_TITLE`和`FULLSCREEN`標誌以及順序。 – Blrfl 2011-02-06 12:49:38
謝謝,我添加了我的清單代碼,將應用程序設置爲全屏。我不使用方法調用來做這件事。 – rbcc 2011-02-06 17:36:55