在我的应用程序中隐藏 Android 默认键(Home、Back 和其他)

Ali*_*eza -1 android android-fullscreen

我有一个项目,我想在其中隐藏Layouts FullScreenAndroid Soft隐藏密钥。我通过谷歌搜索尝试了解决方案

  1. 隐藏操作栏
  2. SYSTEM_UI_FLAG_HIDE_NAVIGATION
  3. 还测试了应用程序中主题的变化 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;
};
Run Code Online (Sandbox Code Playgroud)

但我想禁用所有软键或隐藏它们。需要注意的是该设备在我的应用程序将工作Lenovo Tab2,具有Virtual Soft keys这样的产品图

oal*_*yli 5

在 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 );
        }
Run Code Online (Sandbox Code Playgroud)