的WebView在CoordinatorLayout与CollapsingToolbarLayoutWebView、CoordinatorLayout、CollapsingToolbarLayout

2023-09-05 03:16:09 作者:把回忆杀死了

我想添加的WebView在CoordinatorLayout,在AppBarLayout有CollapsingToolbarLayout。 的问题是,web视图收缩在高度和没有填充栏下方的空间,使得它不能使用。 我也尝试使用的WebView作为NestedScrollView的孩子:一开始它不工作(它缩小我高度的WebView),但我的滚动收缩的WebView使得它填补视

下面是我使用的布局:

 < XML版本=1.0编码=UTF-8&GT?;
< android.support.design.widget.CoordinatorLayout
    机器人:ID =@ + ID / main_content
    的xmlns:机器人=htt​​p://schemas.android.com/apk/res/android
    的xmlns:程序=htt​​p://schemas.android.com/apk/res-auto
    的xmlns:工具=htt​​p://schemas.android.com/tool​​s
    机器人:layout_width =match_parent
    机器人:layout_height =match_parent
    机器人:fitsSystemWindows =真正的>

    < android.support.design.widget.AppBarLayout
        机器人:ID =@ + ID / appbar
        机器人:layout_width =match_parent
        机器人:layout_height =256dp
        机器人:fitsSystemWindows =真
        机器人:主题=@风格/ ThemeOverlay.AppCompat.Dark.ActionBar>

        < android.support.design.widget.CollapsingToolbarLayout
            机器人:ID =@ + ID / collapsing_toolbar
            机器人:layout_width =match_parent
            机器人:layout_height =match_parent
            机器人:fitsSystemWindows =真
            应用程序:contentScrim =?ATTR / colorPrimary
            应用程序:expandedTitleMarginEnd =64dp
            应用程序:expandedTitleMarginStart =48dp
            应用程序:layout_scrollFlags =滚动| exitUntilCollapsed>

            < ImageView的
                机器人:ID =@ + ID /背景
                机器人:layout_width =match_parent
                机器人:layout_height =match_parent
                机器人:fitsSystemWindows =真
                机器人:scaleType =centerCrop
                应用程序:layout_collapseMode =视差/>

            < android.support.v7.widget.Toolbar
                机器人:ID =@ + ID /工具栏
                机器人:layout_width =match_parent
                机器人:layout_height =?ATTR / actionBarSize
                应用程序:layout_collapseMode =针
                应用程序:popupTheme =@风格/ ThemeOverlay.AppCompat.Light/>

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

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

    < android.support.v4.widget.NestedScrollView
        机器人:layout_width =match_parent
        机器人:layout_height =match_parent
        应用程序:layout_behavior =@字符串/ appbar_scrolling_view_behavior>

        <的WebView
            机器人:ID =@ + ID /条
            机器人:layout_width =match_parent
            机器人:layout_height =match_parent/>
    < /android.support.v4.widget.NestedScrollView>
< /android.support.design.widget.CoordinatorLayout>
 

解决方案

该错误已经得到解决在最新的(22.2.1)设计支持库。

Material Design系列之 Bottom Sheets 补漏 顺便提提CoordinatorLayout

I'd like to add a WebView in a CoordinatorLayout, having CollapsingToolbarLayout in AppBarLayout. The problem is that WebView shrinks in height and doesn't fill the space below the toolbar, making it not usable. I tried also to use WebView as child of NestedScrollView: initially it doesn't work (it shrinks my WebView in height), but scrolling my shrinked WebView makes it fill viewport.

Here is the layout I used:

<?xml version="1.0" encoding="utf-8"?>
<android.support.design.widget.CoordinatorLayout
    android:id="@+id/main_content"
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:fitsSystemWindows="true">

    <android.support.design.widget.AppBarLayout
        android:id="@+id/appbar"
        android:layout_width="match_parent"
        android:layout_height="256dp"
        android:fitsSystemWindows="true"
        android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar">

        <android.support.design.widget.CollapsingToolbarLayout
            android:id="@+id/collapsing_toolbar"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:fitsSystemWindows="true"
            app:contentScrim="?attr/colorPrimary"
            app:expandedTitleMarginEnd="64dp"
            app:expandedTitleMarginStart="48dp"
            app:layout_scrollFlags="scroll|exitUntilCollapsed">

            <ImageView
                android:id="@+id/backdrop"
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:fitsSystemWindows="true"
                android:scaleType="centerCrop"
                app:layout_collapseMode="parallax" />

            <android.support.v7.widget.Toolbar
                android:id="@+id/toolbar"
                android:layout_width="match_parent"
                android:layout_height="?attr/actionBarSize"
                app:layout_collapseMode="pin"
                app:popupTheme="@style/ThemeOverlay.AppCompat.Light" />

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

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

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

        <WebView
            android:id="@+id/article"
            android:layout_width="match_parent"
            android:layout_height="match_parent" />
    </android.support.v4.widget.NestedScrollView>
</android.support.design.widget.CoordinatorLayout>

解决方案

The bug is now fixed in the latest (22.2.1) design support library.