跳到主要内容

游牧周记第33期

· 阅读需 5 分钟
Suhe
This site owner

日常

种植

夏天播种,本来就容易发芽,昆明也没那么热,总的来说合适。 家里阳台太小,确实很不方便。 另一个大点的被封了,通风不畅,关键是阳光不足。 目前要点:

  • 种实用的植物,能吃的:羽衣甘蓝(非常容易发芽),生菜(还没出芽),罗勒(好像长出来了),冰菜(今年新种,还没动静),薄荷(没动静)。
  • 特别的植物:山乌龟(本想做点造型,让其爬水管,但方向难控制,长得乱了,要修剪),一些水培的酸角。同学处挖来的缅茄,即树番茄,叶子超大,就是不长高,据说以后是颗大树。
  • 之前得植物:柠檬如此难以长大,折腾我几年了,死了又活,没有结果;前几天网购了一颗新品种花叶柠檬(泰国柠檬),替代之前死了那颗,这次来自浙江,包装和配土都很好,希望能活。
  • 买了100多L营养土,分10袋运来,家里都没地方摆;有点像打碎点的松针土,混合了一些其他物质,国产品牌(浙江的); 领悟: 人闲下来就是要有个自己的院子。

图书馆

回昆明后第一次去图书馆,选择周围热闹,有公交的五华区图书馆。 有点失望:人多桌椅少,电源插座等设施不方便,寄存柜不是满的就是坏的,二楼阅览室有个能用的。 自习室是少数适合用电脑的地方,但上方的光线直射下来,热得躲不开。 二楼虽然有点不晒的桌椅,但根本没机会抢到位置。

关注

PanSci 泛科学

我关注多年的Youtube频道,主播非常有意思,我是说说话风格,这种用梗和幽默是华语媒体中比较Funny的,和大陆哪些都不一样。

开发

学易app新版本

4.0+已经开发了半年,但都在玩一直没有实际进步。 3.12只更新了一次,主要是上次ICP备案问题,被迫改api网址的事情。 回昆明后,花了很多时间在Diablo IV,好不容易静下来写代码。 这次版本更新,有以下开发要点:

  • 不做大的新功能引入,更在意原有功能的清理和优化;
  • 原有style、多语言、iap和广告等基础通用(可复用)部分,认真进行性能和代码风格优化;
  • 之前的各种组件性能调优;
  • 大量进行细节部分的体验提升,主要是动画效果;
  • 界面有所改变,但大结构基本保持,主要是提升可读性,UI更多在字体、颜色等方便参考Apple自身美学规范;

AI的使用经验:

  • 不付费,Claude唯一值得,但太贵;
  • 不在IDE做大量开发,只做代码补全、插错等辅助工作;
  • 新建组件,提前在免费LLM中做功课,精心编写要求,然后poe中用Claude写核心代码,再到ChatGPT进一步优化;
  • Gemini和Grok辅助;
  • 完成的代码和之前的一些代码,发给ChatGPT,让其进行分析、评估、查错和优化;提出要点,而不是全部自动改写,这一招非常受用;
  • 现在想做的是想让AI尽量帮我处理多语言资源文件的自动翻译和生成,结果还挺不顺。

免费字体

一直在避免加装第三方字体包,原因有三:

  • 版权问题
  • 系统资源占用
  • 系统自动的已经很美观 现在为啥想到呢?因为在设计按钮类动作文字的风格,以前link就用蓝色(和Apple一样,现在也是),其他功能点击则选择橙色,有点怪,发现Apple自己是选用的较粗字体来做区别,其实和正文、标题等不易区分,我也不想再用跳色,想用字体来区分一下。 https://fonts.google.com/ 这里有很多免费字体(包括一些中文的,以及无数其他语言,但同时简繁兼容的还没有),且还有个@expo-google-fonts,适合expo开发。

Expo/ReactNative技巧

  • Pressable的hitSlop 我之前发现,按钮太小,经常手指难以触发。 UI设计要求注意最小触控区域,但不代表视觉按钮尺寸,如按钮大小32pt,但触控区域要求44pt,则可以用这种方式:
<Pressable
onPress={handlePress}
hitSlop={6} // 在每边加 6pt,总触控区域为 32+12=44
style={styles.circleButton}
>
<Ionicons name="add" size={20} color="#000" />
</Pressable>

const styles = StyleSheet.create({
circleButton: {
width: 32,
height: 32,
borderRadius: 16,
backgroundColor: '#F2F2F7',
justifyContent: 'center',
alignItems: 'center',
},
});

expo router Android tabbar导航奇葩问题

这个问题我问了AI:

expo router项目,在useRouter.push(某些路由)时,在android中,打开的页面同时,不时会有一个覆盖的(透明或半透明)层水平出现,覆盖住整个页面,出发点是一个app/(tabs)中的页面,目标在app下的各个tsx,如果没有在app的子目录中,此现象不会出现,如果在子目录中,就会出现。ios没有这个现象,请分析,并给出解决办法?

这次ChatGPT没能搞定,反而是Grok 3找到办法了。

结合 transparentModal 和自定义样式,确保页面全屏显示并覆盖 Tab Bar。

只要将原来的目标子目录presentation从'modal'改成'transparentModal'即可。 然后发现其实是在页面下方有个底色层,这样改虽然消失了,但整体也变得透明了。 要么就在android相应页面container中加上backgroundColor,结果也不行,还是透明的。

再检查发现,问题出在tabs设置的tabBarBackground上,去掉就没这个问题;而且这个TabBarBackground是特别设计的,用到了BlurView和绝对定位,这个在Android本来就不稳,先去掉了,现在至少正常。