热门标签 | HotTags
当前位置:  开发笔记 > 前端 > 正文

Android–设计库视差标题

我无法想出一个XML布局来达到预期的效果.工具栏应始终保持固定在顶部.(绿色矩形)当回滚视图滚动时,视差区域(红色矩形)应具有视差滚动效果(由向上向下箭头指示为红色).这就是我

我无法想出一个XML布局来达到预期的效果.

>工具栏应始终保持固定在顶部. (绿色矩形)
>当回滚视图滚动时,视差区域(红色矩形)应具有视差滚动效果(由向上/向下箭头指示为红色).

Picture example of my XML layout

这就是我当前的XML布局


android:id="@+id/appbar"
android:layout_
android:layout_
android:fitsSystemWindows="true"
android:orientation="vertical"
android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar">
android:id="@+id/toolbar"
android:layout_
android:layout_
android:background="?attr/colorPrimary"
android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
app:layout_scrollFlags="scroll|enterAlways"
app:popupTheme="@style/ThemeOverlay.AppCompat.Light" />
android:layout_
android:layout_
android:orientation="vertical"
app:layout_scrollFlags="scroll"
app:layout_collapseMode="parallax">
android:layout_
android:layout_
android:padding="8dp"
android:text="This is a test widget" />
android:layout_
android:layout_
android:padding="8dp"
android:text="This is a test widget" />
android:layout_
android:layout_
android:padding="8dp"
android:text="This is a test widget" />
android:layout_
android:layout_
android:padding="8dp"
android:text="This is a test widget" />
android:layout_
android:layout_
android:padding="8dp"
android:text="This is a test widget" />


android:id="@+id/recyclerView"
android:layout_
android:layout_
app:layout_behavior="@string/appbar_scrolling_view_behavior" />

我的XML布局完全将内容向上滚动并滚出窗口&返回时(向下滚动)它会下拉大约56dp的appbarlayout(我的工具栏的大小),然后经过一些更多的滚动,剩下的就下来了.

如何实现1& 2?

—–编辑:我将我的XML布局修改为以下内容. —–


xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_
android:layout_>
android:id="@+id/appbar"
android:layout_
android:layout_
android:fitsSystemWindows="true"
android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar">
android:id="@+id/collapsing_toolbar"
android:layout_
android:layout_
android:fitsSystemWindows="true"
app:cOntentScrim="?attr/colorPrimary"
app:expandedTitleTextAppearance="@style/ExpandedAppBar"
app:layout_scrollFlags="scroll|exitUntilCollapsed"
app:titleEnabled="false">
android:id="@+id/toolbar"
android:layout_
android:layout_
android:background="?attr/colorPrimary"
android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
app:layout_collapseMode="pin"
app:popupTheme="@style/ThemeOverlay.AppCompat.Light" />
android:layout_
android:layout_
android:layout_marginTop="?attr/actionBarSize"
android:orientation="vertical"
app:layout_collapseMode="parallax">
android:layout_
android:layout_
android:padding="8dp"
android:text="This is a test widget" />
android:layout_
android:layout_
android:padding="8dp"
android:text="This is a test widget" />
android:layout_
android:layout_
android:padding="8dp"
android:text="This is a test widget" />
android:layout_
android:layout_
android:padding="8dp"
android:text="This is a test widget" />
android:layout_
android:layout_
android:padding="8dp"
android:text="This is a test widget" />



android:id="@+id/recyclerView"
android:layout_
android:layout_
app:layout_behavior="@string/appbar_scrolling_view_behavior" />

它大部分都有效,但视差部分内的视图覆盖了工具栏.

Updated XML preview

—– EDIT2:这个XML布局有效!确保您的工具栏位于CollapsingToolbarLayout的底部,以便在其他视图之上绘制!


xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_
android:layout_>
android:id="@+id/appbar"
android:layout_
android:layout_
android:fitsSystemWindows="true"
android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar">
android:id="@+id/collapsing_toolbar"
android:layout_
android:layout_
android:fitsSystemWindows="true"
android:background="@color/primary"
app:expandedTitleTextAppearance="@style/ExpandedAppBar"
app:layout_scrollFlags="scroll|exitUntilCollapsed"
app:titleEnabled="false">
android:layout_
android:layout_
android:orientation="vertical"
android:layout_marginTop="?attr/actionBarSize"
app:layout_collapseMode="parallax">
android:layout_
android:layout_
android:padding="8dp"
android:text="This is a test widget" />
android:layout_
android:layout_
android:padding="8dp"
android:text="This is a test widget" />
android:layout_
android:layout_
android:padding="8dp"
android:text="This is a test widget" />
android:layout_
android:layout_
android:padding="8dp"
android:text="This is a test widget" />
android:layout_
android:layout_
android:padding="8dp"
android:text="This is a test widget" />

android:id="@+id/toolbar"
android:layout_
android:layout_
android:background="@color/primary"
android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
app:layout_collapseMode="pin"
app:popupTheme="@style/ThemeOverlay.AppCompat.Light" />


android:id="@+id/recyclerView"
android:layout_
android:layout_
app:layout_behavior="@string/appbar_scrolling_view_behavior" />

解决方法:

这就是我设法让它发挥作用的方式.

android:id="@+id/appbar"
android:layout_
android:layout_
android:fitsSystemWindows="true"
android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar">
android:id="@+id/collapsing_toolbar"
android:layout_
android:layout_
android:fitsSystemWindows="true"
android:background="@color/primary"
app:expandedTitleTextAppearance="@style/ExpandedAppBar"
app:layout_scrollFlags="scroll|exitUntilCollapsed"
app:titleEnabled="false">
android:layout_
android:layout_
android:orientation="vertical"
android:layout_marginTop="?attr/actionBarSize"
app:layout_collapseMode="parallax">
android:layout_
android:layout_
android:padding="8dp"
android:text="This is a test widget" />
android:layout_
android:layout_
android:padding="8dp"
android:text="This is a test widget" />
android:layout_
android:layout_
android:padding="8dp"
android:text="This is a test widget" />
android:layout_
android:layout_
android:padding="8dp"
android:text="This is a test widget" />
android:layout_
android:layout_
android:padding="8dp"
android:text="This is a test widget" />

android:id="@+id/toolbar"
android:layout_
android:layout_
android:background="@color/primary"
android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
app:layout_collapseMode="pin"
app:popupTheme="@style/ThemeOverlay.AppCompat.Light" />


android:id="@+id/recyclerView"
android:layout_
android:layout_
app:layout_behavior="@string/appbar_scrolling_view_behavior" />

确保您的工具栏位于CollapsingToolbarLayout的底部,以便在其他视图之上绘制!


推荐阅读
  • 本文介绍了一种自定义的Android圆形进度条视图,支持在进度条上显示数字,并在圆心位置展示文字内容。通过自定义绘图和组件组合的方式实现,详细展示了自定义View的开发流程和关键技术点。示例代码和效果展示将在文章末尾提供。 ... [详细]
  • 使用 ListView 浏览安卓系统中的回收站文件 ... [详细]
  • 在处理 XML 数据时,如果需要解析 `` 标签的内容,可以采用 Pull 解析方法。Pull 解析是一种高效的 XML 解析方式,适用于流式数据处理。具体实现中,可以通过 Java 的 `XmlPullParser` 或其他类似的库来逐步读取和解析 XML 文档中的 `` 元素。这样不仅能够提高解析效率,还能减少内存占用。本文将详细介绍如何使用 Pull 解析方法来提取 `` 标签的内容,并提供一个示例代码,帮助开发者快速解决问题。 ... [详细]
  • 本文探讨了资源访问的学习路径与方法,旨在帮助学习者更高效地获取和利用各类资源。通过分析不同资源的特点和应用场景,提出了多种实用的学习策略和技术手段,为学习者提供了系统的指导和建议。 ... [详细]
  • 在 Android 开发中,`android:exported` 属性用于控制组件(如 Activity、Service、BroadcastReceiver 和 ContentProvider)是否可以被其他应用组件访问或与其交互。若将此属性设为 `true`,则允许外部应用调用或与之交互;反之,若设为 `false`,则仅限于同一应用内的组件进行访问。这一属性对于确保应用的安全性和隐私保护至关重要。 ... [详细]
  • 【问题】在Android开发中,当为EditText添加TextWatcher并实现onTextChanged方法时,会遇到一个问题:即使只对EditText进行一次修改(例如使用删除键删除一个字符),该方法也会被频繁触发。这不仅影响性能,还可能导致逻辑错误。本文将探讨这一问题的原因,并提供有效的解决方案,包括使用Handler或计时器来限制方法的调用频率,以及通过自定义TextWatcher来优化事件处理,从而提高应用的稳定性和用户体验。 ... [详细]
  • 深入解析 SAP UI5 Page 控件的构造函数参数及其应用
    深入解析 SAP UI5 Page 控件的构造函数参数及其应用 ... [详细]
  • 在Android开发中,当TextView的高度固定且内容超出时,可以通过设置其内置的滚动条属性来实现垂直滚动功能。具体来说,可以通过配置`android:scrollbars="vertical"`来启用垂直滚动,确保用户能够查看完整的内容。此外,为了优化用户体验,建议结合`setMovementMethod(ScrollerMovementMethod.getInstance())`方法,使滚动操作更加流畅和自然。 ... [详细]
  • 在Android平台中,播放音频的采样率通常固定为44.1kHz,而录音的采样率则固定为8kHz。为了确保音频设备的正常工作,底层驱动必须预先设定这些固定的采样率。当上层应用提供的采样率与这些预设值不匹配时,需要通过重采样(resample)技术来调整采样率,以保证音频数据的正确处理和传输。本文将详细探讨FFMpeg在音频处理中的基础理论及重采样技术的应用。 ... [详细]
  • 在Ubuntu系统中安装Android SDK的详细步骤及解决“Failed to fetch URL https://dlssl.google.com/”错误的方法
    在Ubuntu 11.10 x64系统中安装Android SDK的详细步骤,包括配置环境变量和解决“Failed to fetch URL https://dlssl.google.com/”错误的方法。本文详细介绍了如何在该系统上顺利安装并配置Android SDK,确保开发环境的稳定性和高效性。此外,还提供了解决网络连接问题的实用技巧,帮助用户克服常见的安装障碍。 ... [详细]
  • Android动态界面布局设计与实现
    在最近的项目中,我们集成了第三方Geesee的直播视频功能,遇到了一个动态界面布局的挑战。具体需求是在用户点击按钮时,能够实现视频视图与文档视图的位置互换。此外,还需要确保文档视图在不同屏幕尺寸下保持良好的显示效果。为了实现这一目标,我们采用了灵活的布局管理策略,并结合了自定义视图组件,以提升用户体验和界面的适应性。通过这种方式,不仅解决了动态布局的问题,还增强了应用的交互性和视觉效果。 ... [详细]
  • 在 Android 应用开发中,实现全屏模式和无标题栏设计是提升用户体验的重要手段。本文详细介绍了如何通过 Java 代码实现取消标题栏 `this.requestWindowFeature(Window.FEATURE_NO_TITLE)`,并进一步探讨了全屏模式的多种实现方法和最佳实践,帮助开发者打造更加沉浸式和美观的用户界面。 ... [详细]
  • 深入解析 Android 中 EditText 的 getLayoutParams 方法及其代码应用实例 ... [详细]
  • ButterKnife 是一款用于 Android 开发的注解库,主要用于简化视图和事件绑定。本文详细介绍了 ButterKnife 的基础用法,包括如何通过注解实现字段和方法的绑定,以及在实际项目中的应用示例。此外,文章还提到了截至 2016 年 4 月 29 日,ButterKnife 的最新版本为 8.0.1,为开发者提供了最新的功能和性能优化。 ... [详细]
  • 在Android开发中,实现多点触控功能需要使用`OnTouchListener`监听器来捕获触摸事件,并在`onTouch`方法中进行详细的事件处理。为了优化多点触控的交互体验,开发者可以通过识别不同的触摸手势(如缩放、旋转等)并进行相应的逻辑处理。此外,还可以结合`MotionEvent`类提供的方法,如`getPointerCount()`和`getPointerId()`,来精确控制每个触点的行为,从而提升用户操作的流畅性和响应性。 ... [详细]
author-avatar
手机用户2502899537
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有