首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Android开发(51) 使用 CollapsingToolbarLayout ,可折叠顶部导航

概述 在很app上都见过 可折叠顶部导航栏效果。google support v7 提供了 CollapsingToolbarLayout 可以实现这个效果。效果图如下: ? ? ?...实现步骤 1.写一个 CollapsingToolbarLayout,它有两个 子视图,一个就是上图显示图片(降落伞哪个)Imageview,另一个就是 顶部导航栏toobar 2.为 CollapsingToolbarLayout...指定属性 app:layout_scrollFlags="scroll|exitUntilCollapsed" 3.为ImageView 指定属性,声明 它是可以折叠 app:layout_collapseMode...="parallax" 4.为 toobar指定属性,声明它是固定 app:layout_collapseMode="pin" 5.为 CollapsingToolbarLayout 所在布局(view...)指定属性,以声明它适配当前窗体 android:fitsSystemWindows="true" 代码 布局xml如下 <?

1.7K00

FAQ | 为大屏幕设备构建应用常见问题解答

此外开发者还需要考虑可折叠设备形态,如高级布局支持等。...在导航优化方面,以往在对直板手机竖屏模式部分导航组件进行优化时,导航组件几乎始终停靠在屏幕底部,在可折叠设备或更大设备中情况就不同了,用户实际上大多数时间是用双手持握设备,这就意味着导航组件最好是放置在设备边缘和侧面...二级导航也很重要,在移动设备您可以使用标签页 (Tab) 或分段按钮 (Segmented Button) 等来实现二级导航,这些方法同样适用于可折叠设备,因此可以把它们与 Navigation Rail...对于基于 View 应用,您可以使用资源限定布局,通过底部导航——如底部应用栏 (App Bar) 或底部导航菜单 (Navigation Menu)——形成窄小布局,也可以使用 Navigation...布局和输入都很重要,尤其是当您开始考虑更大屏幕设备时,如需创建适合不同屏幕尺寸 自适应布局,最好方法是将 ConstraintLayout 用作界面基本布局

3.5K10
您找到你想要的搜索结果了吗?
是的
没有找到

可折叠设备、平板设备和大屏设备更新一览

△ 在大屏幕布局,拖放 是一种自然交互,即使是在同一个应用也是如此 △ 通过使用多实例功能,用户可以并排运行应用多个副本。...Design 库许多 UI 组件,以帮助您构建灵活用户体验,并将手机 UI 扩展到更大屏幕。...image.png △ Google Duo 针对可折叠设备优化体验 除了 Google Duo 之外,我们还对许多其他应用进行了现代化改造,以使其支持自适应布局,从而活用大屏幕和可折叠设备优势: Chrome...浏览器为大屏幕改进标签页导航; YouTube 重新设计了用户界面,以提高在可折叠设备上可用性; Google Photos 在大屏幕上会显示更多界面元素,如搜索栏; Google Calendar...了解更多 要了解更多关于可折叠设备和大屏幕设备信息,请参考以下资源: 适用于平板电脑、大屏设备和可折叠设备自适应布局可折叠设备构建应用 大屏幕应用质量指南 Material Design 博文:

2K20

为任意屏幕尺寸构建 Android 界面

随着平板和可折叠设备迅速发展,是时候停止将手机和平板分开去考虑了,而更应该提供面向一整个生态系统应用,来提高其在市场影响力。...支持这一布局方式一个简单方法是使用 SlidingPaneLayout,它优势在于可以轻松复用现有的布局代码,以下是目前更新后导航图: △ 更新后导航图 我们可以通过 NavigationRailView...导航到应用任意一个顶层布局,但仍然可以通过选择界面某个单项任务而导航到详情页面的 Fragment。...由于任务和详情都呈现在 SlidingPaneLayout 同一个新 Fragment ,因此我们为该 Fragment 导航交互专门添加一个新导航层次结构。...其中比较有趣一点是思考应用如何在不同尺寸布局之间转换,例如对于可折叠手机,应用可能会从较大屏幕变为较小屏幕。

4.1K20

详解 Android 12L|更好地适配大屏幕设备

该指南涵盖了生态系统中常见布局模式,有助于激发和开启您工作: △ Material Design 指南中自适应 UI 模式 利用新导航组件构建响应式 UI 为了向用户提供最佳导航体验,您应该提供针对用户设备窗口尺寸类量身定制导航界面...推荐导航模式包括适用于 紧凑屏幕导航栏,以及适用于 中等屏幕宽度设备类和更大屏幕设备 (600dp 以上) 导航栏。...对于已经使用 Fragment 现有应用,虽然更新导航模式和使用 SlidingPaneLayout 等方式是针对大屏幕设备布局优化好方法,但我们了解到基于多个 Activity 应用不在少数。...可调整尺寸模拟器可以帮助您在四个参考设备 (手机、可折叠设备、平板电脑和台式机) 之间快速切换。这使得在设计时验证布局和在测试运行时行为变得更容易,两者使用参考设备相同。...我们即将推出全新指南,为您说明如何在全新和现有的应用中支持不同屏幕尺寸、如何为 View 和 Compose 实现导航、如何利用可折叠设备优势等内容。

3.7K20

Avalonia布局

在Avalonia,Alignment、Margin和Padding是非常重要布局属性,它们与Panel元素一起使用,可以构建出各种复杂用户界面。...Margin(外边距) Margin是元素与其相邻元素之间空间。通过为元素设置Margin,可以控制元素与其周围元素之间距离,从而改变整体布局外观。...常见Panel有哪些 Avalonia提供了多种Panel,每种都有其特定用途和布局方式: StackPanel:按指定方向(水平或垂直)堆叠子元素。...通过组合使用Alignment、Margin、Padding和不同Panel,开发者可以在Avalonia构建出灵活多变且富有吸引力用户界面。...这些属性提供了强大布局控制能力,使得开发者能够精确控制元素位置和外观。

12610

WPF布局方式

它提供了统一编程模型、语言和框架,真正做到了分离界面设计人员与开发人员工作;同时它提供了全新多媒体交互用户图形界面 WPF布局规则:wpf窗口只能包含单个元素,为在wpf窗口中放置多个元素,需要添加容器然后向容器中放置元素...一般常用布局方式: 1.Canvas:使用固定坐标绝对定位元素 //所以图中见到了4行3列 注:虽然说在xaml代码划分了行和列但是线条不会在运行结果显示...,当WrapPanel自身宽高发生改变时对其中元素布局也会有影响,如下图:当宽度变窄时其会自动调节其中元素布局方式 4.DockPanel:沿着一条外边缘来拉伸所包含控件,也就类似于许多窗口顶部工具栏...用于设置其对齐方式,有"Top","Left","Bottom","Right"四个属性值 LastChildFill:获取或设置一个值,该值指示 System.Windows.Controls.DockPanel 最后一个子元素是否拉伸以填充剩余可用空间

1.6K10

flutter底部导航栏切换

“本文主要介绍flutter底部导航栏切换 做android原生开发时,底部导航栏是通过自定义布局,图片自己上网找,点击之后还要变色,在切换时候使用fragment,切换下一个同时上一个隐藏……...现在,来看flutter怎么实现吧 效果 img 解析 除了主界面以外,必然需要这三个界面,界面布局如下 然后还需要一个bottom.dart表示主界面,tabs.dart表示底部栏以及调用上面三个界面...'), ), /** * 切换底部导航时候动态修改body内容 */ body:this...._currentIndex, //实现底部导航栏点击选***能 onTap: (int index){ // this....但是最好应该使用键值对形式,可能flutter有类似的方法我还没学到吧,不过,以上从理解简单程度和实现简单程度都是碾压原生开发

3.5K20

Vue:Vue导航浮顶

MOCK服务器也是在webpack基础上搭建,有空再写篇文章介绍一下,今天先分享Vue导航浮顶。 效果图 ? 正常位置.png ?...导航浮顶.png 实现思路 正常布局取得导航距离顶部位置nav.offsetTop,监听屏幕滚动,当滚动条距离超过这个值时,将navposition属性改为fixed。小于时变回原样。...mounted.png 在mounted钩子函数获取导航栏距离顶部距离,一定要在mounted以后获取,否则会导致数据不正确 ?...通过$nextTick重新获取滚动距离,判断滚动条位置,根据结果修改nav样式 最后 这只是毕业设计一小部分,整个毕业设计,我发现编码不是太大问题,问题是架构设计,不断扩充路由表,单组件复用问题...这些都属于架构层面,事前思考不够细致。 另一方面是服务器。使用就是webpack搭建本地服务器,数据mock很方便,会在后面的文章给大家介绍。记得关注哦。 就是这样:)

1.5K90

更好地适配大屏幕设备 | 2021 Android 开发者峰会

作者 / 工程经理 Clara Bayarri 今年 Android 开发者峰会 带来了许多 Android 大屏幕设备开发 最新资讯,包括可折叠设备和平板电脑上 Android 12L 功能更新...,让您可以同时显示多个 Activity,从而更轻松地在现有应用构建大屏幕设备优化布局。...,其代表了生态系统典型设备场景大多数情况更新 SlidingPaneLayout 以支持导航; 新 Compose API 让开发自适应和响应式 UI 变得简单,包括对 导航支持; Android...,用以检测大屏幕设备布局问题; 全新可调整大小模拟器,可以在参考设备间迅速切换。...Google Play 针对大屏幕设备更新 为了帮助用户在平板电脑、可折叠设备和 ChromeOS 设备上找到最好应用,我们在 Google Play 上推出了一些新变更,以推荐针对大屏幕设备进行了优化应用

54110

折叠屏上应用设计规范,了解一下?

深入理解布局 深入理解布局指南 介绍了布局容器相关概念,它提供了一个整体框架,可帮助开发者思考如何在屏幕上排列导航栏、工具栏和内容等界面元素。...包括适当缩放以展示更多内容,如示例副标题和日期,以及较小组合技术,例如在紧凑型布局对内容进行视觉分组并保持其相关性等。...规范布局 规范布局提供了一系列通用布局方案,对设计大屏幕应用非常有帮助。第一种是列表/详情,或列表网格视图简单组合,同时在开始展示内容屏幕起始侧,设置/不设置导航容器。...遵循 Material 指南,我们可以根据宽度尺寸类别提供替代布局,将导航调整到最方便使用位置。例如,小屏幕采用底部导航视图,中等屏幕采用 Navigation rail,大屏幕采用完整导航视图。...在如此多样化硬件生态系统,您可能很难拥有各种形状和尺寸设备,如今 Android SDK 为可折叠设备提供了模拟器图像,这些模拟器允许您随时将折叠状态更改为铰链角度。

4.3K20

Android 与 Chrome OS 针对大屏幕设备更新

全新任务栏简化了应用之间快捷切换方式,并且可以轻松返回主屏幕。 导航按钮 △ 三按钮导航相较之前更易访问 在屏幕较大设备上,任务栏可以很方便地将应用转为分屏模式或者多窗口模式。...之后,您可以使用 windowLayoutInfo 对象可用信息更新应用布局。...基于可用屏幕空间以及您提供设置,库可以自动选择合适展示类型,从而避免了分支应用内导航代码就能处理不同部分大小屏幕。...接下来我们聊聊在 Chrome 操作系统以及 Android 平板电脑和可折叠设备避免应用出现在兼容模式中所需要做到重要几件事: △ 运行在开放形式模式充分利用屏幕空间 为不同设备类型提供合适大屏幕布局...在新版本可以利用 Activity 内嵌 和测试 API 进而简化大屏幕布局维护。 别忘了加入美观大屏幕布局,并添加键盘、鼠标和其他输入支持。

2.3K40

实践 | Google IO 应用是如何适配大尺寸屏幕 UI

应用在大尺寸屏幕 (平板、可折叠设备甚至是 Chrome OS 和台式个人电脑) 上使用体验是我们关注点之一: 在过去一年,大尺寸屏幕设备越来越受欢迎,用户使用率也越来越高,如今已增长到 2.5...其中在 res/layout 目录下布局包含了 BottomNavigationView,而在 res/layout-w720dp 目录下布局则包含了 NavigationRailView。...至于导航图,日程目的地页面现在是双窗格 Fragment,而每个窗格可以展示目的地都已经被迁移到新导航图中了。...不过,我们不能直接从会议列表导航到会议详情,因为两者如今已经被放到了不同窗格,也就是存在于不同导航图里。...随着更多平板和可折叠设备在用户普及,请确保在这些不同尺寸和屏幕比例测试您应用,这样一些用户就不会觉得自己被 "冷落" 了。

2K20

可折叠设备桌面模式

△ Duo 应用在优化前后对比 在这篇文章,您会了解到一个简单而又高效方式来使您应用在可折叠设备上运行时适配布局。...每当您获取到新布局信息时,您可以查询显示屏特征,并检查设备当前显示是否存在折叠或铰链: private fun onLayoutInfoChanged(newLayoutInfo: WindowLayoutInfo...如果您要实现横屏功能,那么大多数时候,边界会以一个在屏幕垂直居中矩形来表示,它和屏幕一样宽,并且高度与铰链相同 (对于可折叠设备而言值为 0,对于双屏幕设备而言会是两个屏幕之间距离)。...在其他所有情况下 (非全屏) 您需要考虑导航栏或屏幕上其他 UI 组件占据空间。 为了移动参考线,您必须指定它距离父布局底部距离。...* 这里计算默认会包含内边距。

2.3K30

SwiftUI 布局工作原理

在此过程,您还将学习如何创建更高级布局对齐,使用GeometryReader构建特殊效果,以及更多——我知道您会热衷于在自己应用程序中部署一些真正强大功能。...SwiftUI 布局工作原理 ---- 所有的 SwiftUI 布局都有三个简单步骤,理解这些步骤是每次获得优秀布局关键。步骤如下: 父视图提供一个大小并询问其子视图大小。...,我向您解释过,当您对视图应用修饰符时,我们实际上会得到一个名为ModifiedContent新视图类型,它存储了原始视图及其修饰符。...这意味着当我们应用修饰符时,进入层次结构实际视图是修改后视图,而不是原始视图。 在我们简单background()示例,这意味着ContentView顶层视图是背景,而内部是文本。...如果我们把这个放到三步布局系统,我们最终会有一个类似这样对话: SwiftUI:“嘿,ContentView,你自己拥有整个屏幕——你需要多少?

3.7K20

flutter响应式布局

总不能只适配手机尺寸,在PC端就可能看起来很丑了,这样用户体验就非常差了,如下图: 大屏幕上显示手机版布局 很显然,这不是我们希望看到结果,这时候就轮到我们响应式布局...在flutter,我们可以根据UI设计效果,通过使用不同技术、widgets和第三方包,轻松实现响应式 In this article, we'll focus on one very specific...,并介绍如何在大屏幕和手机上使用如下布局方式: 大屏幕 手机屏幕使用drawer 就像我们看到,在不同屏幕尺寸,我们需要不同布局方式...在web开发我们可以使用css很容易实现这种效果。下面我们就来看看在flutter是如何实现吧! 我们将实现如下简单功能: 点击左上角icon打开(点击返回按钮关闭)....关于flutter一些API flutter实现响应式布局,可能需要API,大家可以自行查看 MediaQuery LayoutBuilder OrientationBuilder Expanded

2.7K10
领券