Содержимое во всплывающем окне веб-просмотра скрыто за клавиатурой (уникальный случай, пожалуйста, прочтите)

У меня уникальный случай проблемы с веб-просмотром (в отличие от любой другой проблемы в сети, поэтому, пожалуйста, прежде чем отмечать ее как дубликат, прочтите ее) Итак, у меня есть веб-просмотр, который прокручивается нормально, но как только я нажимаю кнопку внутри веб-просмотра, появляется всплывающее окно с просьбой ввести имя, адрес электронной почты и т. д., Но как только я начинаю вводить свое имя и т. д., Появляется клавиатура, скрывающая контент на третья строка всплывающего окна, которая в моем случае является электронным письмом. Я не могу прокручивать этот веб-просмотр (всплывающее окно), пока фон прокручивается нормально. Как я могу исправить эту проблему? Я попробовал adjustresize и несколько других подходов в Интернете, но пока безуспешно. Вот мой код:

 <?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:background = "@color/colorWhite"
    android:orientation = "vertical">

    <android.support.design.widget.AppBarLayout
        android:id = "@+id/appBarLayout"
        android:layout_width = "match_parent"
        android:layout_height = "wrap_content"
        android:theme = "@style/AppTheme.Redesign">

        <android.support.v7.widget.Toolbar
            android:id = "@+id/toolbar"
            android:layout_width = "match_parent"
            android:layout_height = "@dimen/toolbar_and_status_bar_height"
            android:background = "@color/toolbar_background"
            android:paddingTop = "@dimen/status_bar_height"
            app:popupTheme = "@style/ThemeOverlay.AppCompat.Light" />

    </android.support.design.widget.AppBarLayout>

    <WebView
        android:id = "@+id/webView"
        android:layout_width = "match_parent"
        android:layout_height = "match_parent" />

</LinearLayout>

Вот мой файл kt для того же:

   webView.settings.javaScriptEnabled = true
    webView.settings.javaScriptCanOpenWindowsAutomatically = true
    webView.settings.setAppCacheEnabled(true)
    webView.settings.cacheMode = WebSettings.LOAD_DEFAULT
    webView.settings.allowFileAccess = true
    webView.settings.allowContentAccess = true
    webView.settings.allowFileAccessFromFileURLs = true
    webView.settings.allowUniversalAccessFromFileURLs = true
    webView.settings.domStorageEnabled = true

    webView.webChromeClient = WebChromeClient()
    webView.webViewClient = object : WebViewClient() {
        override fun onPageFinished(view: WebView?, url: String?) {
            hideProgress()
            super.onPageFinished(view, url)
        }

        override fun onReceivedError(view: WebView?, request: WebResourceRequest?, error: WebResourceError?) {
            hideProgress()
            super.onReceivedError(view, request, error)
        }

        override fun shouldOverrideUrlLoading(view: WebView?, request: WebResourceRequest?): Boolean {
            if (request?.url?.toString()?.startsWith("mailto:") == true) {
                val intent = Intent(Intent.ACTION_VIEW, request.url)
                startActivity(intent)
                return true
            }
            if (request?.url?.toString()?.startsWith("tel:") == true) {
                startActivity(Intent(Intent.ACTION_DIAL, request.url))
                return true
            }

            return super.shouldOverrideUrlLoading(view, request)
        }
    }



        webView.loadUrl(urlToOpen)


Any ideas how to go ab out it?

Заранее спасибо!

Можете ли вы опубликовать полный XML-макет, на котором размещен ваш <WebView>?

Aaron 29.11.2018 22:43

конечно, только что отредактировал свой вопрос с макетом

user2386226 29.11.2018 22:48

Любопытно, а вы пробовали изменить высоту вашего WebView на match_parent?

Aaron 29.11.2018 22:55

да, это то, что было изначально, исправлено в моем вопросе. wrap_content был тестовым запуском, когда все остальное не удалось

user2386226 29.11.2018 22:56

Ой, я могу ошибаться, но мне кажется, что это можно исправить только в Интернете или в самом javascript.

Aaron 29.11.2018 23:02

они исправили это в chromeview, теперь кажется, что в Chrome прокручивается нормально, но у меня все еще не работает :(

user2386226 29.11.2018 23:04

Это действительно похоже на проблему с рендерингом, возможно, вам просто нужен хромоподобный движок или стороннее веб-представление, чтобы помочь вам с этой проблемой.

Aaron 29.11.2018 23:10

есть ли в Интернете какие-либо примеры того, как этого добиться? почему мы не можем сделать это с помощью самого клиента Chrome?

user2386226 29.11.2018 23:11

Я не совсем уверен, но надеюсь, что это может вам помочь: stackoverflow.com/questions/14537083/…

Aaron 29.11.2018 23:14

Благодарность! попробую. также в другой заметке, любая идея, как это сделать: stackoverflow.com/questions/53511227/…

user2386226 29.11.2018 23:15
2
10
174
0

Другие вопросы по теме