8

アプリを起動すると、アプリは全画面で正しく実行されます。ただし、最小化してからアプリに戻ると、ステータスバーがポップアップし、ビューが少し押し下げられます。ステータスバーがビューを動かさないようにするにはどうすればよいですか?

これが私のレイアウトです:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:myapp="http://schemas.android.com/apk/res/com.example.draw"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
    <com.example.draw.DrawView 
        android:id="@+id/draw"
        android:layout_width="fill_parent" 
        android:layout_height="wrap_content"
        android:visibility="visible"
        android:fitsSystemWindows="false"
    />      
<com.admob.android.ads.AdView     
       android:id="@+id/ad" 
       android:layout_width="fill_parent" 
       android:layout_height="wrap_content"
       myapp:backgroundColor="#000000"
       myapp:primaryTextColor="#FFFFFF"
       myapp:secondaryTextColor="#CCCCCC"
       android:layout_gravity="bottom"
/>     

これが私のアクティビティのonCreateの一部です:

requestWindowFeature(Window.FEATURE_NO_TITLE);
    getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
    WindowManager.LayoutParams.FLAG_FULLSCREEN);  

マニフェストにはフルスクリーンのテーマもあります。

android:theme="@android:style/Theme.Black.NoTitleBar.Fullscreen"

ありがとう

4

4 に答える 4

17

この問題は次の方法で修正できます。

getWindow().setFlags(WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS, WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS);

(onCreateでそれを行います)...これによりソフトキーボード(IME)が壊れることに注意してください-edittextがキーボードの上のビューにスライドできなくなるためです。そのフラグは、ウィンドウがまったく動かないようにします....

ステータスバグを修正しながら編集テキストも機能する必要がある場合は、行うことができます

someEditText.setOnFocusChangeListener(new View.OnFocusChangeListener() {
        public void onFocusChange(View v, boolean hasFocus) {
            if (hasFocus) {
                getWindow().clearFlags(WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS);
            } else {
                hideKeyboard();
                getWindow().setFlags(WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS, WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS);
            }   
        }
    });
于 2011-01-20T01:39:52.600 に答える
3

ステータスバー/通知バーには既知のバグがあります。

見る:

http://code.google.com/p/android/issues/detail?id=3674

http://code.google.com/p/android/issues/detail?id=8052

http://code.google.com/p/android/issues/detail?id=5906

于 2010-06-19T15:58:22.717 に答える
0

マニフェストのアクティビティに android:theme="@android:style/Theme.NoTitleBar.Fullscreen" 属性を追加するだけで十分です。その作品を願っています

于 2010-06-19T08:27:40.790 に答える