flutter - 如何根据屏幕特性确定 PageView 小部件的每个页面(子)上可以容纳的文本量?
问题描述
我正在开发代表游戏本的移动应用程序。它包含剧集,每集都由一页或多页文本构成。对于每一集,我对每个页面都使用带有子列(带有嵌套文本和 RichText)的 PageView。屏幕方向锁定在 PortraitUp 和 textScaleFactor - 在 1.0。我用这种方法发现的问题与移动设备的不同屏幕特性有关:
- 我需要确定 PageView 的每个子项的文本量。但是有多少文本不会在较小的屏幕上溢出?到目前为止,我的方法是在分辨率接近 360 x 640 逻辑像素的相对较小的设备上进行测试,并在文本下方留出一些额外的空间。此外,我可以使 PageView 的每一页都可滚动,从而完全防止溢出,但我认为这会产生糟糕的用户体验。
- 我使用适合具有上述分辨率的设备的字体大小。但在相当大的屏幕上,它看起来并不漂亮。
那么,有没有好的方法来确定在 PageView 的每个页面上放置多少文本并根据移动设备大小和屏幕特性缩放字体大小?另外,如果有人提出更好的方法来用 Flutter(使用不同的小部件)编写这种类似书本的移动应用程序,我将不胜感激。
谢谢你的时间。
解决方案
@Milenb如果您可以添加文本分页,那么我认为它将解决您的问题。您不需要根据屏幕高度缩小/放大。如果您查看此线程,那么您将知道如何执行此操作。
推荐阅读
- sql - 案例 当值为 x OR y 时,则 z
- java - 如何从 Spring 控制器测试 Java 谓词?
- html - 如何在CSS中对角切片创建一张以图像为背景的卡片
- asp.net-web-api - 验证 WebApi 后端的正确方法
- scala - scala - 从上到下打印供应商细分
- ios - UIPanGestureRecognizer 为什么以及如何使 UISwipeGestureRecognizer 静音而 UITapGestureRecognizers 默认情况下不相互静音?
- mysql - 如何在MYSQL中减去总和(从同一张表产生)?
- java - 将字符串转换为 ArrayList
带流 - laravel - 不时在日志中拒绝权限
- sql-server - 通过 SQL Server 代理作业使用 WinSCP 执行 REMOTE powershell 脚本时出现问题