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