Я попробовал приведенный ниже код, и он работает.Внесите следующие изменения в свой код
Во-первых, добавьте Adjustpan к своей деятельности в манифесте.
android:windowSoftInputMode="adjustPan"
Во-вторых, измените свой макет, как показано ниже.
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<WebView
android:id="@+id/textFavorites"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"/>
<android.support.design.widget.BottomNavigationView
android:id="@+id/bottom_navigation"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
app:itemBackground="@color/colorPrimary"
app:itemIconTint="@color/white"
app:itemTextColor="@color/white"
app:menu="@menu/bottom_navigation_main"/>
</LinearLayout>
Последнее, измените свой Java-код, как показано ниже
final WebView webView = (WebView) findViewById(R.id.textFavorites);
BottomNavigationView bottomNavigationView = (BottomNavigationView)
findViewById(R.id.bottom_navigation);
webView.setWebViewClient(new WebViewClient()); //add this or load url will open in browser instead of webview
webView.loadUrl("http://www.google.com");
bottomNavigationView.setOnNavigationItemSelectedListener(
new BottomNavigationView.OnNavigationItemSelectedListener() {
@Override
public boolean onNavigationItemSelected(@NonNull MenuItem item) {
switch (item.getItemId()) {
case R.id.action_favorites:
webView.loadUrl("http://www.google.com");
break;
}
return false;
}
});
Я пробовал с Google, и результат, как показано ниже.
1) С клавиатуройзакрыто.
![enter image description here](https://i.stack.imgur.com/D40Gq.png)
2) С открытой клавиатурой.
![enter image description here](https://i.stack.imgur.com/InqaN.png)
Надеюсь, это поможет.