CoordinatorLayout 中的 WebView 和 CollapsingToolbarLayout

2023-12-23

我想在 CoordinatorLayout 中添加一个 WebView,在 AppBarLayout 中添加 CollapsingToolbarLayout。 问题是 WebView 的高度缩小了,并且没有填充工具栏下方的空间,从而使其无法使用。 我还尝试使用 WebView 作为 NestedScrollView 的子级:最初它不起作用(它缩小了我的 WebView 的高度),但是滚动我缩小的 WebView 使其填充视口。

这是我使用的布局:

<?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>

您可以使用android:fillViewport="true"对于 NestedScrollView 和layout_height="wrap_content"对于网页视图

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

CoordinatorLayout 中的 WebView 和 CollapsingToolbarLayout 的相关文章

  • 无法获取项目的未知属性“assembleRelease”

    将 Android Studio 更新到版本 2 2 并将 gradle 插件更新到 2 2 0 后 出现以下错误 错误 32 1 评估项目 jobdispatcher 时出现问题 无法获取 org gradle api Project 类
  • 服务如何在后台运行 - Android

    今天的采访中我被问到了这个问题 什么是服务 我对此的回答是 Service 是 Android 的基本组件 它没有 UI 并且在后台运行 Service 是否在主线程上运行 不 那么它是如何在后台运行的呢 我心里一片空白 有人可以解释一下如
  • 如何以编程方式判断蓝牙设备是否已连接?

    我了解如何获取已配对设备的列表 但如何判断它们是否已连接 这一定是可能的 因为我看到它们列在我手机的蓝牙设备列表中 并且它说明了它们的连接状态 将蓝牙权限添加到您的AndroidManifest中
  • 如何使用retrofit2动态设置超时?

    public class Router private static Retrofit retrofit null public Retrofit getRetrofit if retrofit null OkHttpClient clie
  • 如何从Slog中查看日志

    如何查看 Slog API 生成的日志 是否有任何选项可以查看系统缓冲区中的日志 我的意思是查看我们使用的无线电缓冲区的日志 adb logcat b 无线电 而这个日志是由Android的Log类生成的 Slog API 的输出在哪里 怎
  • Android,如何从 XML 布局添加 Google 地图选项?

    我有一个包含 MapView 的片段 我已将此视图添加到 XML 文件中 如下所示
  • 无法接收UsbManager.ACTION_USB_DEVICE_ATTACHED/UsbManager.ACTION_USB_DEVICE_DETACHED的广播Intent

    我最近正在编写一个 USB 主机应用程序 但它被卡住了 因为我无法检测到设备连接 分离事件 我遵循了编码说明http developer android com guide topics connectivity usb host html
  • 新安装的Eclipse和Android SDK。无法让模拟器工作。挂在时钟屏幕上

    我对开发是全新的 我已经安装了 Eclipse 和 Andoid SDK 但是 我无法让模拟器工作 我已经尝试过示例记事本代码和 Hello Android 教程代码 每次我尝试运行任一应用程序时 它都会挂在时钟屏幕上 屏幕上还显示正在充电
  • 将清除会话标志设置为 FALSE 后,我丢失了已发布的值

    有人有一个合乎逻辑的解释为什么尽管我有clear session flage false当我未连接到经纪商时 我没有收到我订阅的更新的已发布消息 将 aore提到的标志设置为 false 后 我运行了我的应用程序 并且我不断向主题发布一些值
  • MediaPlayer.create() 始终返回 null

    我以前用过媒体播放器 从来没有遇到过这个问题 每当我尝试使用 MediaPlayer create 时 该方法都会给我 null 并且我无法播放声音 我有什么遗漏的吗 public class Game extends Activity p
  • 使用 START_STICKY 启动时服务进程被终止后的 onStartCommand

    我一直在阅读 Android 文档 我想知道是否有人可以阐明当以 START STICKY 启动的服务的进程被终止时服务实例会发生什么情况 我假设本地状态数据 实例变量 也丢失了 Android 在重新创建服务时是否会采取任何措施来帮助重新
  • 如何从画布中删除路径区域(Android)

    我需要裁剪角落ImageView 不要将它们弄圆 而是擦除每个角上的三角形 似乎唯一的方法就是覆盖onDraw方法并使用从画布上删除这些区域Path 问题是我没有纯色背景 所以我需要擦除这些区域 但不要用某种颜色填充它们 我为此使用以下代码
  • MutableStateflow 值、更新、发出

    假设我有一个可变状态流 https kotlin github io kotlinx coroutines kotlinx coroutines core kotlinx coroutines flow mutable state flow
  • 通过配置更改保留 CoroutineScope 的干净方法,无需 ViewModel

    我知道建议是在我们的 Activity 中使用 ViewModel 这样我们就可以使用它viewModelScope 由于 ViewModel 的寿命比 Activity 的寿命长 因此我们不必取消以下作业activity onDestro
  • 如何防止应用程序被盗(针对Android应用程序)?

    我想知道防止人们窃取我的应用程序的最有效方法是什么 在线下载 apk 的副本而不是购买它 我已经花了一个lot特别是 Droidbox 上的时间 并且不会发布 Sync 直到我可以保证提供专业版本的非法副本的人无法发布 有人实施过这个吗 我
  • Fresco:滚动 RecyclerView 后图像消失

    我有一个 Horizo ntal RecyclerView 每个项目都有一个使用 Facebook Fresco 图像库加载到其中的图像 然而 虽然正确的图像最初是在屏幕上滚动一点时加载的 但当 RecyclerView 进一步滚动时 它就
  • foo.setVisibility(View.GONE) 和parent.removeView(foo) 之间的区别

    如果 foo 是一个视图 那么有什么区别foo setVisibility View GONE and fooParent removeView foo 我对两个语句之前和之后视图的内存消耗特别感兴趣 可见性设置为 GONE 的视图是否会消
  • DialogFragment 关闭事件

    我需要处理 DialogFragment 的结尾 在调用 dismiss 之后 例如 我会在关闭后 包含 片段的活动内显示一个 toast 我该如何处理该事件 覆盖onDismiss 在你的DialogFragment中 或者使用setOn
  • 活动中列表视图中的粘滞行

    我的列表视图中只有一行应该是粘性的 而不是粘性标题中带有字母的部分或部分 我真的很感激任何关于列表视图在活动中粘性一行而不是片段的帮助 我该怎么做 我真的很感谢任何帮助 提前致谢 使用如下代码 class MyAsyncTask exten
  • Android Webview隐私浏览

    我在我的 Android 应用程序中使用 webview 从多个站点获取一些网页 我对 webview 行为有一些疑问 webview 是否存储历史记录 cookie 表单自动填充信息 如果是的话 我们可以阻止它这样做吗 如果 Webvie

随机推荐

  • 如何对字典(在运行时)进行类型提示/类型检查以查找任意数量的任意键/值对?

    我定义一个类如下 from numbers import Number from typing import Dict from typeguard import typechecked Data Dict str Number typec
  • 缓慢/跳跃地调整大小

    我使用简单的渐变扩展 JComponent 并调整 PaintComponent 方法制作了自己的 BottomBar 然后我将它添加到使用 BorderLayout 的 JFrame 的南部 一切一开始看起来都是正确的 当我调整框架大小时
  • 如何在android中获取纬度和经度?

    android2 3 3中如何获取当前的经纬度 我尝试跟随this https stackoverflow com questions 2227292 how to get latitude and longitude of the mob
  • 当使用实体框架代码优先映射属性到单独的表时,移动外键字段

    使用代码优先 EF 映射表时遇到奇怪的问题 我有一个父类 Contract 与另一个类 Supplier 具有多对一关系 要求在合同实体中存储合同的扫描副本 为了避免每次都查询文档字节 我想将此属性存储在单独的表中 我可以让 EF 将 Co
  • 为什么我的“事件”总是空?

    我正在尝试连接一个新事件 但由于某种原因 更改 总是评估为空 public class MyTreeViewItem INotifyPropertyChanged private MyTreeViewItem parent public M
  • Windows 批处理中的 if/then/else 语句

    在 shell 脚本中我有以下代码 if echo Mr 32 then echo Success else echo Failed exit fi Windows 批处理文件的等效语法是什么 我很难想象 ECHO 何时会失败并返回 ERR
  • 将布尔值绑定到视觉状态

    我正在使用表达式混合 当列表框没有元素时 我想将文本框的状态更改为红色边框和红色文本 因此 当文本更改时 我会过滤列表框 private void OnIPAddressTextChanged object sender System Wi
  • 启动 docker 守护进程监听特定端口的正确方法

    我是 Docker 新手 希望以守护进程模式启动它 监听特定的 IP 地址和端口 在里面文档 https docs docker com reference commandline daemon 据说这可以通过写来完成sudo usr bi
  • 关于AMR音频文件在不同设备上播放的问题

    我这里遇到了一个很奇怪的问题 我正在开发一个IM软件 需要在Android上播放另一个客户端录制的音频文件 我得到的相同音频文件可以在 3GS IOS 4 2 1 设备和模拟器 4 2 上使用 AVAudioPlayer 播放 但是当我尝试
  • 如何在gmake中返回变量的第一个字符

    使用 GNU 的 make 我想提取变量的第一个字符 目前我正在使用 shell 函数bash执行子串 我想知道是否有办法使用 gmake 的内置函数来执行相同的操作 DIR user shell echo USER 0 1 USER 这不
  • ViewModel 在 Activity 之间共享数据

    我正在使用 android viewmodel 但我无法从另一个活动传递和访问活动视图模型的数据 我只能用片段来做到这一点 我应该使用像 EventBus 这样的库在几个活动之间共享数据吗 最佳实践是什么 None
  • Libgdx,使用 Shader 的 Alpha 文本不起作用

    我在使用舞台操作在文本 使用着色器 中应用 alpha 时遇到一些问题 我正在使用添加窗口演员和窗口添加标签演员的组 我组中的其他演员应用 Actions alpha 工作得很好 但我的标签 使用着色器绘制 不起作用 与其他小部件不同的是我
  • SQL Server 理解 SCOPE_IDENTITY()

    我在存储过程中有这段代码 BEGIN SET UserId NULL IF Username IS NOT NULL BEGIN EXECUTE SP ADD USER Username UserId OUTPUT END EXECUTE
  • 使用带有字节计数的 textwrap.wrap

    我怎样才能使用textwrap在行达到一定字节数之前分割的模块 不分割多字节字符 我想要这样的东西 gt gt gt textwrap wrap bytewidth 10 结果取决于所使用的编码 因为每个字节数 字符是编码的函数 在许多编码
  • 如何将一个 64 位整数存储在两个 32 位整数中并再次转换回来

    我很确定这只是一些按位运算的问题 我只是不完全确定我应该做什么 并且所有搜索都会返回 64 位与 32 位 pack u32 x y u64 v u64 x lt lt 32 y unpack x u32 v 0xFFFFFFFF00000
  • 拼写检查仅替换文本框中的第一个单词

    我知道我以前在某个地方见过这个问题 但我不确定当时是否有答案 我正在尝试将拼写检查添加到TextBox在 WPF NET 4 0 中 它在查找和标记不正确的单词方面效果很好 并且会替换单词中的第一个单词TextBox如果不正确 不过 任何超
  • IBOutlet 是否需要是一个属性并被合成?

    在大多数示例中 我看到 IBOutlet 的以下设置 Example A FooController h interface FooController UIViewController UILabel fooLabel property
  • dart 中隐式强制转换运算符的语法是什么?

    我想将自定义类 A 的实例强制转换为 int 隐式强制转换运算符的语法是什么 我以为我记得有这样的功能 但我在网上找不到它 int a new A 您还可以使用as帮助告诉工具 不 真的 将此对象视为此类型 一个很好的例子是当你必须处理 d
  • 如何在 Ansible 中循环库存并分配价值

    我的 Ansible 剧本中有一个任务 我想要迭代我拥有的组中的每个主机 并且对于每个主机 我想从我在 vars 文件夹中创建的主机名列表中分配一个名称 我已经熟悉通过编写循环来循环库存 groups mygroup 并且我有一个主机名列表
  • CoordinatorLayout 中的 WebView 和 CollapsingToolbarLayout

    我想在 CoordinatorLayout 中添加一个 WebView 在 AppBarLayout 中添加 CollapsingToolbarLayout 问题是 WebView 的高度缩小了 并且没有填充工具栏下方的空间 从而使其无法使