タブレットデバイスのシステムバーを非表示にしたい。私はたくさん検索しましたが、成功しませんでした。画像を追加しました。
私はいくつかの解決策を見つけました
View v = findViewById(R.id.view_id);
v.setSystemUiVisibility(View.STATUS_BAR_HIDDEN);
しかし、私はそれを使用する方法がわかりません
そして、それは http://forum.xda-developers.com/showthread.php?t=1228046 として可能であることを知っています。これを行う方法を誰かが知っていますか?
最後に多くの時間を検索した後、私は私の要件のためのいくつかの代替案を得ました。
プログラマーがこの状況から後退することはこれが良い考えではないことを知っていますが、私の制限時間のためにこのように使用しました...
私の要件を満たしているこのリンクとアプリケーションを見つけました
アプリケーションでこのタイプの要件が必要な場合は、一度アクセスしてください。
問題を解決してくれてありがとう。
ルート化された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();
}
システムバーを非表示にすることはできません。それを可能にするAPIには何もありません。これは、アプリがフリーズしたり、ユーザーがアプリから抜け出す必要がある場合に何か間抜けなことをしたりする場合に備えて、ユーザーは常にホームキーとバックキーにアクセスする必要があるためです。非表示にできるのはアクションバーだけです。
var width = innerWidth;
var height = innerHeight;
私はこのコードがあなたのために役立つと思います。タブレットバーを非表示にするのではなく、アプリケーションはこれを使用できる任意のデバイスに適合します(私はコードovaモバイルアプリケーションのJavaScriptでこのコードを使用しました)
応援せずにほとんどすべてのすべてのタブレットでメニューバーを無効にする回避策があります。しかし、これは少しトリッキーですが、問題なく動作します。現在、この戦略を使用してアプリのメニューバーを無効にする機能を実現する、市場に出回っているいくつかの有名なアプリ。
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);
下をスワイプして下部のバーを表示します。数秒後に再び非表示になります。
すべての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。
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回クリックすると、アプリケーションが検出され、ステータスバーでは[戻る]ボタンのみがアクティブになります。
したがって、唯一の方法はタブレットを再起動することです(そのため、コードでクラシックロックシステムを使用してタブレットを開くことができます)。
訪問者が電源ボタンにアクセスできない場合、またはロック解除コードを持っているのがあなただけである場合に役立ちます
あなたはそれを隠すことはできませんが、家を除いて単に無効にすることができます。 this link。 を試してください。 SYSTEM_UI_FLAG_LOW_PROFILEを使用すると、システムバーを暗くでき、onWindowFocusChanged()
を使用すると、フォーカスを取得して折りたたむことができます。