首页
学习
活动
专区
圈层
工具
发布

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

对于 Trackr,我认为使用导航路由更有建设性。而针对 MaterialTextView 的修改建议是要么减少 TextView 的宽度,要么考虑使用多列布局,这里使用多列布局更适合我们的应用。...支持这一布局方式的一个简单方法是使用 SlidingPaneLayout,它的优势在于可以轻松复用现有的布局代码,以下是目前更新后的导航图: △ 更新后的导航图 我们可以通过 NavigationRailView...导航到应用任意一个顶层布局,但仍然可以通过选择界面中某个单项任务而导航到详情页面的 Fragment。...由于任务和详情都呈现在 SlidingPaneLayout 中的同一个新的 Fragment 中,因此我们为该 Fragment 的导航交互专门添加一个新的子导航层次结构。...Jetpack Compose Jetpack Compose 在 2021 年 7 月发布了 1.0 版本后,在 Android 开发者社区产生了巨大反响,成千上万的应用已经在生产环境中使用了 Compose

5.4K20
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    安卓软件开发:学习Jetpack Compose实现Navigation组件App

    一、项目背景 在日常工作中经常面临复杂 UI 的构建挑战,以前的开发方式依赖繁琐的XML布局和Activity、Fragment之间的频繁切换,代码大量重复且难以维护。...Jetpack Compose 的出现让我们看到了新的可能性:声明式UI让UI和业务逻辑的绑定很简洁,让页面导航更顺畅。...要实现页面之间的跳转,我们使用 Jetpack Navigation 组件。...3.3 布局和组件的灵活使用 Jetpack Compose 提供了丰富的 UI 组件和布局工具,但由于它是声明式的,我们必须思考如何将 UI 组件与状态管理紧密结合。...相比于 XML 布局文件,Compose 的布局代码更加简洁,但也更依赖于对编程语言的熟练使用。

    1.2K82

    Jetpack初步了解

    通常来说,一个Android应用程序至少需要一个Activity,当我们开发小型Android程序时,可能会将大部分代码写在Activity/Fragment中,例如业务逻辑,UI控件,数据库的CRUD...针对小型项目而言,这并没什么问题,维护起来也很方便,但对于中大型项目而言,随着业务复杂度的增加,Activity/Fragment中的代码会变得越来越多,越来越难以维护。...在Android开发中,一直有用到MVC,例如将Activity/Fragment和布局文件分开就是一种最简单的MVC思想,只是它没有很好地解决我们的问题,所以才有了MVP和MVVM。...在Jetpack出来前,Android的应用架构始终处于一个混乱的阶段,Android工程师也非常的困惑,他们不清楚自己使用的架构是否真的是最佳方案,迫切希望Google官方可以推出一些关于架构的组件或指南...Google也意识到了这个问题,于是便推出了Jetpack,Jetpack正是为了解决这些问题而诞生的。 2.什么是Jetpack?

    31410

    Android Sunflower 带您玩转 Jetpack

    该系列的其它文章会陆续与各位开发者见面,如果您对 Jetpack 和 Android 开发感兴趣,或者想要进一步探索 Jetpack 导航组件,了解如何利用 WorkManager 调度循环任务,请持续关注...使用 Jetpack 组件 Sunflower 使用了 Jetpack 中的许多组件,以下为各个组件在应用中所扮演的角色: Sunflower 完全采用 Kotlin 语言,并且使用了 Android...本应用采用 “单 Activity 多 Fragment” 的开发模式,并且利用导航组件 (Navigation component) 以及过渡动画 (transition animation actions...应用通过 ConstraintLayout 和 Data Binding 在界面上创建基于 fragment 的布局。...在今后的文章中,我们会进一步探讨 Sunflower 中的其它 Jetpack 组件,如导航和重复任务,尽情期待。谢谢您对 Sunflower 的关注! ?

    1.6K10

    Android Jetpack 学习笔记(1) - 概述

    为何使用 Android Jetpack? 遵循最佳实践: Jetpack 采用最新的设计,且向后兼容性,可以减少崩溃和内存泄露。...消除样板代码: Jetpack 可以管理各种繁琐的后台任务、导航和生命周期管理等。 减少不一致: Jetpack 的组件库可在各种 Android 版本和设备中以一致的方式运作,助您降低复杂性。...compose * 使用描述界面形状和数据依赖项的可组合函数,以编程方式定义界面。 databinding * 使用声明性格式将布局中的界面组件绑定到应用中的数据源。...fragment * 将您的应用细分为在一个 Activity 中托管的多个独立屏幕。...lifecycle * 构建生命周期感知型组件,这些组件可以根据 Activity 或 Fragment 的当前生命周期状态调整行为。

    2.5K20

    Now in Android | 12 月刊 · 2019

    手势导航连载 ?...我们的同事 Chris Banes 为各位开发者们发布了一个「手势导航」系列的文章,帮助大家处理 Android 10 中的手势变更的问题: 《手势导航 (一) | 开启全面屏体验》介绍了将应用构建到全面屏设备...ViewPager2 1.0.0 相比较旧版的 ViewPager,ViewPager2 所做的改进有: 支持 RTL (从右向左) 布局 支持竖直朝向布局 可靠的 Fragment 支持 (包括将变动信息传递给下层的...请阅读 ViewPager2 使用指南以了解如何在 Fragment 页面间完成滑动操作。 Transition 1.2.0 如果您的编译目标是 API 29,这次更新对您来说就非常重要。...△ Jetpack Compose 使用教程中的示例代码 Jetpack Compose 在十月底的 Android Dev Summit 上公布,不过它并不属于典型的 alpha/beta/发布候选/

    2.3K30

    美团技术报告:83%的Android开发者因这5个源码盲区错失年薪50万(附50k+面试答案)

    50k+ 改造Jetpack底层实现 "ViewModel穿透生命周期?" 二、大厂必问的7个Jetpack源码命题 1....@drawable/vip : @drawable/normal}导致布局渲染耗时增加2.8倍 高阶方案: @BindingAdapter("imageUrl") fun loadImage(view...{ Glide.with(view).load(url).into(view) // 替换复杂表达式 } 实测效果:美团外卖商品页布局渲染速度提升2.3倍。 4....Navigation的"时空折叠"导航图(华为系统调度题) 致命问题:Fragment转场动画导致页面重叠(发生概率29%) 核心原理: 导航栈管理:NavController通过BackStackEntry...链表实现状态回溯 参数传递:使用SafeArgs插件自动生成Directions类(避免类型转换错误) val directions = FragmentADirections.actionToFragmentB

    22110

    是时候更新手里的武器了—Jetpack架构组件简析

    今天给大家带来的是Jetpack中的架构组件,这个模块的组件可以说就是为MVVM框架服务的,当然每个库也都是可以单独使用的。...数据绑定 “数据绑定库是一种支持库,借助该库,您可以使用声明性格式(而非程序化地)将布局中的界面组件绑定到应用中的数据源。...所以在布局中就可以使用app:imageUrl,并传值为String类型,系统就会找到这个适配器方法并执行。...5)将布局视图绑定到架构组件 这一块就是实际应用了,和jetpack其他组件相结合使用,形成完整的MVVM分层架构。...官方文档 Demo代码地址 Navigation “导航 Navigation 组件旨在用于具有一个主 Activity 和多个 Fragment 目的地的应用。

    3.2K20

    Jetpack来了:走近Google标准应用架构

    针对一个小型项目,将大部分代码写在Activity/Fragment中并没有什么问题,但对于中大型项目而言,随着时间的推移和业务复杂度的增加,Activity/Fragment中的代码会变得复杂且难以维护...在Android应用程序开发中,一直以来都有用到MVC,将 Activity/Fragment 与布局文件分开就是一种最简单、最基本的MVC思想,只是它没有很好地解决我们的问题,所以才有了MVP和MVVM...无法辨别最佳解决方案: Android的应用架构始终处于一个混乱的阶段,Android工程师很困惑,他们不确定自己使用的架构是否真的是最佳方案。...所以,当使用Jetpack的组件时,经常会看到以“androidx”开头的包名。...04 ▊ 迁移至AndroidX 如果你从未在项目中使用过Jetpack组件,现在你希望将项目迁移至AndroidX,那么可以在菜单栏中选择 Refactor → Migrate to AndroidX

    65120

    Jetpack来了:走近Google标准应用架构

    针对一个小型项目,将大部分代码写在Activity/Fragment中并没有什么问题,但对于中大型项目而言,随着时间的推移和业务复杂度的增加,Activity/Fragment中的代码会变得复杂且难以维护...在Android应用程序开发中,一直以来都有用到MVC,将 Activity/Fragment 与布局文件分开就是一种最简单、最基本的MVC思想,只是它没有很好地解决我们的问题,所以才有了MVP和MVVM...无法辨别最佳解决方案: Android的应用架构始终处于一个混乱的阶段,Android工程师很困惑,他们不确定自己使用的架构是否真的是最佳方案。...所以,当使用Jetpack的组件时,经常会看到以“androidx”开头的包名。...04 ▊ 迁移至AndroidX 如果你从未在项目中使用过Jetpack组件,现在你希望将项目迁移至AndroidX,那么可以在菜单栏中选择 Refactor → Migrate to AndroidX

    84010
    领券