Программная прокрутка Webview не отображается при рисовании из Canvas - PullRequest
0 голосов
/ 12 октября 2018

Я извлекаю фреймы из WebView в методе draw и прокручиваю его программно.Проблема в том, что независимо от размера моего растрового изображения, я получаю вывод только из WebView на основе его начальных размеров.getHeight() возвращает значение 1440, и это все, что я могу получить из WebView, даже если я увеличу растровое изображение и / или прокручиваю WebView.это его draw метод:

@Override
public void draw( Canvas canvas ) {
    int height = getHeight();
    bitmap = Bitmap.createBitmap(width, height, Bitmap.Config.ARGB_8888);
    newCanvas = new Canvas(bitmap);
    super.draw(newCanvas);
    bitmap.compress(Bitmap.CompressFormat.PNG, 100, stream);
    array.Buffer = stream.toByteArray();
    mPluginInterfaceBitmap.onFrameUpdate(array, width, height);
    stream.reset();
}

Я прокручиваю веб-просмотр следующим образом:

mWebView.scrollBy(0,yScrollBy);

и я знаю, что это прокрутка, потому что в последующих кадрах я проверяю:

mWebView.getScrollY()

Мой XML:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent" >
<com.export.ian.webviewtest android:id="@+id/web_view"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content" />

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

Вот как это выглядит после небольшой прокрутки (игнорируйте угол изображения) enter image description here

1 Ответ

0 голосов
/ 15 октября 2018

НАКОНЕЦ нашел ответ от здесь :

Вам нужно позвонить WebView.enableSlowWholeDocumentDraw(), прежде чем надувать вид в вашем фрагменте.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...