我有一个项目,其中我想要Layouts
FullScreen
或隐藏Android Soft
个键。
我尝试使用谷歌搜索解决方案
Theme.AppCompat.Light.NoActionBar
我使用以下代码禁用了Back
密钥:
@Override
public boolean onKeyDown(int keyCode, KeyEvent event)
{
if(keyCode == KeyEvent.KEYCODE_HOME)
{
Log.i("Home Button", "Clicked");
}
if(keyCode==KeyEvent.KEYCODE_BACK)
{
finish();
}
return false;
};
但我想禁用所有软键或隐藏它们。
请注意,我的应用可以使用的设备是Lenovo Tab2
,Virtual
Soft keys
就像这样Pic。
答案 0 :(得分:4)
在onCreate方法和setContentView()之后使用此代码。它帮助了我。
if ( Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT )
{
getWindow().getDecorView().setSystemUiVisibility( View.SYSTEM_UI_FLAG_LAYOUT_STABLE
| View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
| View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
| View.SYSTEM_UI_FLAG_HIDE_NAVIGATION // hide nav bar
| View.SYSTEM_UI_FLAG_FULLSCREEN // hide status bar
| View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY );
}
答案 1 :(得分:1)
试试这个:
View.setSystemUiVisibility(
View.SYSTEM_UI_FLAG_LOW_PROFILE
| View.SYSTEM_UI_FLAG_FULLSCREEN
| View.SYSTEM_UI_FLAG_LAYOUT_STABLE
| View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY
| View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
| View.SYSTEM_UI_FLAG_HIDE_NAVIGATION);
答案 2 :(得分:1)
如果你只需要隐藏菜单项,只需将setVisible隐藏为false。在onCreateOptionsMenu中输入menu.findItem(R.id.action_back).setVisible(false);我在我的应用程序中尝试过类似的东西。这是我在onCreateOptionsMenu中使用的代码。
if (menu != null) {
menu.findItem(R.id.action_register).setVisible(false);
menu.findItem(R.id.action_search).setVisible(false);
menu.findItem(R.id.action_settings).setVisible(false);
menu.findItem(R.id.action_refresh).setVisible(false);
}
答案 3 :(得分:0)
当活动失去焦点时,您可能会发现沉浸式模式丢失。重新获得焦点后,它可能无法恢复沉浸式模式。
要确保应用在焦点更改时不会失去沉浸式模式,请使用onWindowFocusChanged
方法实现代码,而不是onCreate
方法。
来源:https://developer.android.com/training/system-ui/immersive.html
@Override
public void onWindowFocusChanged(boolean hasFocus) {
super.onWindowFocusChanged(hasFocus);
if (hasFocus) {
getWindow().getDecorView().setSystemUiVisibility(
View.SYSTEM_UI_FLAG_LAYOUT_STABLE
| View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
| View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
| View.SYSTEM_UI_FLAG_HIDE_NAVIGATION
| View.SYSTEM_UI_FLAG_FULLSCREEN
| View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY);}
}