Compose 平板适配

最近项目中做了一次平板适配。项目是 Kotlin Multiplatform + Compose 写的,界面代码主要在 commonMain,也就是说 Android 和 iOS 会共用大部分页面逻辑。

一开始看到“平板适配”这几个字,很容易想到两种做法:

  • 判断是不是平板,然后重新写一套平板页面;
  • 在每个页面里判断屏幕宽度,手动决定显示单栏还是双栏。

但这两种方式后期都比较难维护。页面越来越多以后,每个页面都写一遍适配判断,代码会很散;如果单独写一套平板页面,又容易和手机页面逻辑不同步。

所以本文就以这个项目为例,看一下如何使用 Navigation 3 + Material3 Adaptive 实现一套更适合真实项目的平板适配方案:手机上仍然是普通的全屏页面跳转,平板横屏时自动变成左侧 start pane + 右侧 end pane 的双栏结构。

本文只看平板 / 大屏适配相关代码,业务逻辑不展开。

Android 使用 OpenSL ES 音频播放

在上篇文章中,我们使用的是 Android 自带的 AudioTrack 来音频播放的,现在我们要切换成 OpenSL ES 来播放,那为什么要换成这个呢 ? 一个方面是因为 OpenSL ES 性能会好一些,且都是在

Android 编译 ffmpeg

前言 在上两篇文章中,我们已经学习了 CMake 和 Shell 的使用,接下来本篇文章开始对 ffmpeg 进行编译, 在编译开始之前 需要准备好 Linux 环境,下载 NDK,配置 NDK 环境变量等

Android NDK 开发之 cmake 使用

在 Android NDK 开发中, CMake 是帮助我们来生成 makefle 文件的, 本文的示例是在 windows 中进行的, CMake 安装相关的可以参考本文 Windows10下配置CMake+Make+C

你的大脑经历了什么

你的大脑经历了什么 他像往常一样和女友正在散步逛街, 突然间的, 他听到了一个轰隆的声音,他表现的极其恐惧,身体不由自住的趴在地面上,仿佛他此时此