游牧周记第38期
关注
最近听(看)了不少哲学方面的内容,颇有种信息量巨大,需要整理提炼的冲动,我看来应该做笔记,写点啥了。
大问题
哲学。喉咙不清,可能有轻度炎症。 但内容极好,选题精彩,节奏紧凑。 B站
徒梦的学习笔记
哲学对话,非视频! 作为背景听太棒了,台湾的。以2人对话方式展开。 Bilibili 后来发现内容是从其他语音平台搬运的,仅B站就还有类似频道。 原频道还没有找。
# PowerfulJRE
没啥好说的,Joe Rogan的访谈记录, 2000万+订阅。 Youtube 用来练英语听力不错。 B站的思维黑洞Lab,只有2k多粉,收集了大量的这类谈话节目,也不错看。
我的视频
App快速开发上架挑战
7天能完 成一个新App的开发和上架吗? 我的实际挑战纪录片B站。
阳台种菜
昆明降雨大降温,结果冰菜长得最好。
开发
expo-router和unistyle的冲突
我第一次使用unistyle,这时已经是v3+了,网上和AI掌握的很多资料失效过时。
核心在于执行顺序,要保证最早执行unistyle的configure,只有这个办法了:
// app.json中
"main": "index.ts"
// 新建index.ts(根目录)
import "./src/styles/unistyles"; // 初始化 unistyles 必须最先执行
import "expo-router/entry"; // 启动 Expo Router
不然再怎么配置也没有用。 官网说明
App开发的这些边距尺寸概念
下面这张图能帮你一眼看懂它们各自「量」的是哪一块:
┌────────────────────────────────────────┐
│ Status Bar ← statusBar.height = 20 │
├────────────────────────────────────────┤
│ │
│ APP CONTENT │
│ │
├────────────────────────────────────────┤
│ Navigation Bar │
│ (虚拟三大键/手势指示条) │
│ ← navigationBar.height = 44 │
└────────────────────────────────────────┘
-
insets
告诉你「内容区域」距离屏幕四周安全距离是多少。
例如:insets = {
top: 28, // 避开刘海 + Status Bar
bottom: 40, // 避开 Navigation Bar
left: 0,
right: 0,
ime: 0 // 键盘弹起时为键盘高度
}所以:
insets.top
通常 ≈ Status Bar 高度 + 刘海高度
insets.bottom
通常 ≈ Navigation Bar 高度 + 底部圆角高度 -
statusBar
只量系统状态栏本身(电量、信号、时间那一栏)的 绝对尺寸。
在 iOS 刘海屏和 Android 状态栏高度不同,但 不会 把刘海额外高度算进来。 -
navigationBar
只量虚拟导航栏(三大键或手势提示条)的 绝对尺寸。
如果设备启用了全面屏手势,这个高度可能是 0。
一句话总结
名称 | 描述 |
---|---|
insets | 内容可安全放置的区域 ↔️ 你需要用它来做自适应布局 |
statusBar | 系统状态栏的精确尺 寸 |
navigationBar | 虚拟导航栏的精确尺寸 |
布局时 优先用 insets
,只有当你要精确知道状态栏或导航栏本身多高时才去看 statusBar
/ navigationBar
。