Я пытаюсь создать полноэкранное приложение для веб-просмотра, и когда пользователь ищет что-то на веб-странице, появляется клавиатура (очевидно), и появляется панель навигации и строка состояния, но когда пользователь закрывает клавиатуру, навигациястрока и строка состояния не скрываются, как обычно, вместо этого они просто остаются там, пока пользователь не сдвинет строку состояния вниз и снова не проведет вверх.
Как это исправить?Я искал проблему в интернете, и многие новички вроде меня сталкиваются с такими же проблемами.Было бы полезно, если бы вы предоставили мне решение.
вот мой код.(mainactivity.java)
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// find the WebView by name in the main.xml of step 2
browser=(WebView)findViewById(R.id.webview);
// Enable javascript
browser.getSettings().setJavaScriptEnabled(true);
// Set WebView client
browser.setWebChromeClient(new WebChromeClient());
browser.setWebViewClient(new WebViewClient() {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
// open in Webview
if (url.contains("example.com") ){
// Can be clever about it like so where myshost is defined in your strings file
// if (Uri.parse(url).getHost().equals(getString(R.string.myhost)))
return false;
}
// open rest of URLS in default browser
Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(url));
startActivity(intent);
return true;
}
});
// Load the webpage
browser.loadUrl("http://example.com/");
}
//back button
public void onBackPressed() {
if (browser.canGoBack()) {
browser.goBack();
} else {
super.onBackPressed();
}
}
// nav bar and status bar hide..... should figure out glitch with keyboard
public void onWindowFocusChanged(boolean hasFocus) {
super.onWindowFocusChanged(hasFocus);
if (hasFocus) {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
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_LOW_PROFILE
| View.SYSTEM_UI_FLAG_HIDE_NAVIGATION // hide nav bar
| View.SYSTEM_UI_FLAG_FULLSCREEN // hide status bar
| View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY
);
}
}
}
}