对于我的应用程序,我使用清单文件中的主题功能隐藏了我的活动的标题栏和通知栏。在活动的底部,我想要有一个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