web-dev-qa-db-ja.com

タブレットシステムバーを非表示にする

タブレットデバイスのシステムバーを非表示にしたい。私はたくさん検索しましたが、成功しませんでした。画像を追加しました。

私はいくつかの解決策を見つけました

View v = findViewById(R.id.view_id);
v.setSystemUiVisibility(View.STATUS_BAR_HIDDEN); 

しかし、私はそれを使用する方法がわかりません enter image description here

そして、それは http://forum.xda-developers.com/showthread.php?t=1228046 として可能であることを知っています。これを行う方法を誰かが知っていますか?

14
Chirag Patel

最後に多くの時間を検索した後、私は私の要件のためのいくつかの代替案を得ました。

プログラマーがこの状況から後退することはこれが良い考えではないことを知っていますが、私の制限時間のためにこのように使用しました...

私の要件を満たしているこのリンクとアプリケーションを見つけました

http://www.42gears.com/blog/2012/04/how-to-hide-bottom-bar-in-rooted-Android-3-0-tablets-using-surelock/

アプリケーションでこのタイプの要件が必要な場合は、一度アクセスしてください。

問題を解決してくれてありがとう。

4
Chirag Patel

ルート化されたAndroidタブレットでステータスバーを表示/非表示にするコードスニペット

隠れる:


            Process proc = null;

            String ProcID = "79"; //HONEYCOMB AND OLDER

            if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.ICE_CREAM_SANDWICH){
                ProcID = "42"; //ICS AND NEWER
            }

            try {
                proc = Runtime.getRuntime().exec(new String[] { "su", "-c", "service call activity "+ProcID+" s16 com.Android.systemui" });
            } catch (Exception e) {
                Log.w("Main","Failed to kill task bar (1).");
                e.printStackTrace();
            }
            try {
                proc.waitFor();
            } catch (Exception e) {
                Log.w("Main","Failed to kill task bar (2).");
                e.printStackTrace();
            }

表示するには:


            Process proc = null;
            try {
                proc = Runtime.getRuntime().exec(new String[] { "su", "-c", "am startservice -n com.Android.systemui/.SystemUIService" });
            } catch (Exception e) {
                Log.w("Main","Failed to kill task bar (1).");
                e.printStackTrace();
            }
            try {
                proc.waitFor();
            } catch (Exception e) {
                Log.w("Main","Failed to kill task bar (2).");
                e.printStackTrace();
            }
7
Basher51

システムバーを非表示にすることはできません。それを可能にするAPIには何もありません。これは、アプリがフリーズしたり、ユーザーがアプリから抜け出す必要がある場合に何か間抜けなことをしたりする場合に備えて、ユーザーは常にホームキーとバックキーにアクセスする必要があるためです。非表示にできるのはアクションバーだけです。

2
Andi Jay
var width = innerWidth;

var height = innerHeight;

私はこのコードがあなたのために役立つと思います。タブレットバーを非表示にするのではなく、アプリケーションはこれを使用できる任意のデバイスに適合します(私はコードovaモバイルアプリケーションのJavaScriptでこのコードを使用しました)

1
Sahal Zaman

応援せずにほとんどすべてのすべてのタブレットでメニューバーを無効にする回避策があります。しかし、これは少しトリッキーですが、問題なく動作します。現在、この戦略を使用してアプリのメニューバーを無効にする機能を実現する、市場に出回っているいくつかの有名なアプリ。

  • 管理者権限を付与します。
  • デバイス管理プロファイルAPIを使用してパスワードを設定し、デバイスをロックする
  • 次に、ネイティブロック画面の上にUIをロードします。 (もちろん、これはアクティビティ間の遷移が発生するたびにバックグラウンドロック画面を表示します。ただし、ロジックが適切に構成されている場合、スムーズでユーザーに気づかれません)
  • 元に戻す必要がある場合は、デバイスポリシーマネージャーオブジェクトのresetPassword( ""、0)を使用してパスワードを ""にリセットします。
1
M P Mathugama

SYSTEM_UI_FLAG_IMMERSIVE_STICKYの組み合わせが必要なだけです。 SYSTEM_UI_FLAG_HIDE_NAVIGATION | SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN。たとえば、openglを使用し、glSurfaceViewが表面である場合:

glSurfaceView.setSystemUiVisibility(
                View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY |
                View.SYSTEM_UI_FLAG_HIDE_NAVIGATION |
                View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN);

下をスワイプして下部のバーを表示します。数秒後に再び非表示になります。

1
user2626972

すべてのAndroidデバイスで同じです。

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

私は別の解決策も見つけましたが、これはもちろん、surelockという別のアプリにすぎません。

http://onkarsingh.sys-con.com/node/2184158

編集:

上記のコードはタブレットバーを非表示にしません。別のAndroid Device。

0
Nate-Wilkins

Samsungの 開発者ガイド によると、ギャラクシータブでキオスクとして使用するためのトリックを見つけました

アプリにロックシステムを終了するように依頼し、戻るボタンでアプリの開始アクティビティ/ビューに戻るように依頼できます。私はウェブビューアプリのためにこれを行いました

    @Override
    public void onBackPressed() {
        //here asking to go back to home page
        mWebView.loadUrl(mHomepageUrl);
    }

onCreateメソッドで、ロックシステムから離れるように求める場合:

getWindow().addFlags(WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD);
getWindow().addFlags(WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED);

次に、電源ボタンを2回クリックすると、アプリケーションが検出され、ステータスバーでは[戻る]ボタンのみがアクティブになります。

したがって、唯一の方法はタブレットを再起動することです(そのため、コードでクラシックロックシステムを使用してタブレットを開くことができます)。

訪問者が電源ボタンにアクセスできない場合、またはロック解除コードを持っているのがあなただけである場合に役立ちます

0
Philippe T.

あなたはそれを隠すことはできませんが、家を除いて単に無効にすることができます。 this link。 を試してください。 SYSTEM_UI_FLAG_LOW_PROFILEを使用すると、システムバーを暗くでき、onWindowFocusChanged()を使用すると、フォーカスを取得して折りたたむことができます。

0
PiyushMishra