13

カスタムロック画面を作っています。

ロック画面は、画面が消えるまでに起動するアクティビティです。

ただし、アクティビティを透明とフルスクリーンの両方にすることはできません。

ステータス バーが表示され続けます。

マニフェストで行うことは次のとおりです。

<activity android:name=".activities.LockScreenActivity"  android:theme="@android:style/Theme.Translucent.NoTitleBar.Fullscreen"/>

また、これらのエクストラを activit の onCreate に追加しています。

    requestWindowFeature(Window.FEATURE_NO_TITLE);
    setContentView(R.layout.lock_screen);
    getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,WindowManager.LayoutParams.FLAG_FULLSCREEN);

しかし、うまくいかないようです :|

なぜ?

4

3 に答える 3

45

onCreate() からコードを削除します。これをマニフェストファイルで使用します。

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

それ以外の場合は、要件に従ってテーマを作成してください。

于 2011-12-24T08:59:09.267 に答える
3

setContentView の前にフラグを設定する必要があります。

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

setContentView(R.layout.lock_screen);
于 2013-07-31T07:56:09.947 に答える
0

これがリンクです(Android 4.1以降ではステータスバーを非表示にします)。

View decorView = getWindow().getDecorView();
// Hide the status bar.
int uiOptions = View.SYSTEM_UI_FLAG_FULLSCREEN;
decorView.setSystemUiVisibility(uiOptions);
// Remember that you should never show the action bar if the
// status bar is hidden, so hide that too if necessary.
ActionBar actionBar = getActionBar();
actionBar.hide();

Android 4.0 以下でステータス バーを非表示にします。

<application
    ...
    android:theme="@android:style/Theme.Holo.NoActionBar.Fullscreen" >
    ...
</application>

@Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        // If the Android version is lower than Jellybean, use this call to hide
        // the status bar.
        if (Build.VERSION.SDK_INT < 16) {
            getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
                    WindowManager.LayoutParams.FLAG_FULLSCREEN);
        }
        setContentView(R.layout.activity_main);
    }

于 2016-01-21T09:28:23.197 に答える