私のアプリケーションでは、マニフェストファイルのテーマ機能を使用して、自分のアクティビティのタイトルバーと通知バーを非表示にします。このアクティビティの最下部には、48dpiの高さの広告バナーがあります。この上にスペースの残りの部分は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>
は、しかし、私は(通知バーを返すために例)ホームキーを離れて私のアプリからの切り替え、その後スイッチバックに問題があります私の活動に。私が戻ったとき、画面は短時間黒くなり、描かれたサーフェスビューが通知バーの下に表示され、通知バーがアニメーション表示されて消えて、サーフェイスビューが画面の一番上に移動します。問題は、黒の横長の四角形が、広告バーの上端をマスキングしていることです。このバーは、通知バーと同じ高さになります。 ASCIIアート:
-------------
| |
| | <- surface view the same size as expected
| |
| |
############# <- black rectangle
| | <- ad banner with the top part masked by the rectangle
-------------
通知バーが消え、バーが消えたときにビューが再レイアウトされているが、何かが広告バーをレイアウト間違って行く前のビューがレイアウトされているかのようです。
私はこれをどのように修正することができますか?
私はAndroid 2.1を利用しています。私は代わりのRelativeLayoutアプローチを試みましたが、同じ問題がありました。もう1つの選択肢はおそらくそれを修正するかもしれないが、私は何も考えることができない。
編集:関連するマニフェストコード私の活動を設定する:あなたは、Javaコードを経由して通知バーを削除するのではなく、あなたのマニフェストにandroid:theme="@android:style/Theme.NoTitleBar.Fullscreen"
を使用する場合、この問題が消えることがあり
<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>
....
どのようなメソッドが 'NO_TITLE'機能と' FULLSCREEN'フラグをどのような順序で設定しているかを示す 'Activity'コードを少し投稿してください。 – Blrfl
ありがとう、私はアプリケーションをフルスクリーンに設定するマニフェストコードを追加しました。私はメソッド呼び出しを使ってこれをしません。 – rbcc