Подтвердить что ты не робот

Crosswalk XWalkView (альтернатива Webview), не работающая с AppBarLayout + CoordinatorLayout

Я пытаюсь выполнить метод прокрутки Toolbar (скрывая Toolbar при прокрутке в дочернем представлении дочернего узла) с помощью CoordinatorLayout и AppBarLayout.

Я использую Crosswalk XWalkView (это представление, которое работает как WebView).

При использовании регулярного WebView (внутри NestedScrollView) я могу добиться желаемого эффекта:

<android.support.design.widget.CoordinatorLayout
    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.support.design.widget.AppBarLayout
        android:id="@+id/app_bar_layout"
        android:layout_width="match_parent"
        android:layout_height="wrap_content">

        <android.support.v7.widget.Toolbar
            android:id="@+id/toolbar"
            android:layout_width="match_parent"
            android:layout_height="?attr/actionBarSize"
            app:layout_scrollFlags="scroll|enterAlways" />

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

    <android.support.v4.widget.NestedScrollView
        app:layout_behavior="@string/appbar_scrolling_view_behavior"
        android:layout_width="match_parent"
        android:layout_height="match_parent">

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

    </android.support.v4.widget.NestedScrollView>
</android.support.design.widget.CoordinatorLayout>

Однако при использовании XWalkView таким же образом я не могу заставить его работать. После использования следующего XML-макета:

<android.support.v4.widget.NestedScrollView
        android:id="@+id/scrollView"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:fillViewport = "true"
        app:layout_behavior="@string/appbar_scrolling_view_behavior">

        <org.xwalk.core.XWalkView
            android:id="@+id/webViewCross"
            android:layout_width="match_parent"
            android:layout_height="match_parent"/>
</android.support.v4.widget.NestedScrollView>

вид даже не отображается.

При удалении следующей строки

app:layout_behavior="@string/appbar_scrolling_view_behavior"

XWalkView отображается, по крайней мере, на весь экран и поверх панели инструментов.

Что мне делать, чтобы заставить его работать? Поскольку это open-source, я должен быть способен заставить его работать... Я подозреваю, что это либо подкласс XWalkView, и реализовать какой-то интерфейс (NestedScrollingChild?), Либо создать настраиваемое поведение путем подкласса CoordinatorLayout.Behavior или AppBarLayout.ScrollingViewBehavior.

Любые идеи?

BTW XWalkView использует внутренне SurfaceView или TextureView для рендеринга сети содержание.

4b9b3361

Ответ 1

Могу я спросить, зачем использовать xwalk? Это проект, который больше не разрабатывается и не поддерживается для Android, и, честно говоря, текущее веб-представление по умолчанию намного лучше, чем когда-либо был xwalk. Я использовал Xwalk несколько лет назад, но сейчас я просто не вижу необходимости в этом.