mirror of
https://github.com/atsunatsu/Look4Sat.git
synced 2026-10-02 03:15:37 +00:00
fix(settings): crash when scrolling Settings (nested LazyColumn unbounded height)
v4.4.9 page-order list crashed the Settings screen on scroll: the drag-reorder LazyColumn sits inside the Settings LazyVerticalGrid item, and a vertically scrollable child measured with infinite max height throws IllegalStateException, killing the app before the UI Settings card even renders. Fix: give the LazyColumn a bounded height (itemHeight * items.size = 7 rows × 48dp = 336dp). Drag logic, animation and persistence unchanged. What's-new rewritten in en/zh/tr with ONLY this fix (user rule: replace, never append history). Version stays 4.4.9 (覆盖 per user). Verified: settings + app compile; check_strings.py clean.
This commit is contained in:
1 parent
15ab82f1c8
commit
6636dd8e98
4 files changed
+11
-32
No files matched your search
@@ -51,16 +51,7 @@
|
|||||||
\n\nDoğru tahminler alabilmek için veritabanını en az haftada bir güncelleyin.</string>
|
\n\nDoğru tahminler alabilmek için veritabanını en az haftada bir güncelleyin.</string>
|
||||||
<string name="pass_whatsnew_title" translatable="false">What\'s new in Look4Sat</string>
|
<string name="pass_whatsnew_title" translatable="false">What\'s new in Look4Sat</string>
|
||||||
<string name="pass_whatsnew_message" translatable="false">
|
<string name="pass_whatsnew_message" translatable="false">
|
||||||
* Roaming sayfası QTH定位器 2.0\'dan birebir taşındı: 8 haneli konum, 3x3 ızgara, kırmızı işaret, canlı GPS
|
* Ayarlar sayfasında kaydırırken oluşan çökme düzeltildi (sayfa sırası listesi yüksekliği)</string>
|
||||||
\n\n* İçeriğin sistem durum/gezinme çubuklarıyla çakışması düzeltildi; ızgara sütunları referans düzenle eşleşiyor
|
|
||||||
\n\n* Roaming sayfası renkleri uygulama temasını takip eder - kırmızı gece modunda tamamen görünür
|
|
||||||
\n\n* Ayarlar: sıkışan anahtar satırları ve teşekkür aralığı düzeltildi
|
|
||||||
\n\n* Uygulama adı artık Look4Sat Pro
|
|
||||||
\n\n* Ayarlar: "İçe aktar" düğmesi "Özel URL" olarak yeniden adlandırıldı - TLE/alıcı-verici kaynak URL\'leri doğrudan düzenlenebilir
|
|
||||||
\n\n* Özel kaynak anahtarları varsayılan olarak KAPALI; eski örnek URL\'ler gerçek varsayılanlara sıfırlanır
|
|
||||||
\n\n* Yeni UI Ayarları kartı: alt gezinme sayfalarını göster/gizle (sıra sabit, Ayarlar her zaman görünür)
|
|
||||||
\n\n* Sayfa sırası: UI Ayarları\'nda her sayfanın yanındaki tutamacı sürükleyerek alt gezinmeyi yeniden sıralayın, tek dokunuşla varsayılana sıfırlayın
|
|
||||||
</string>
|
|
||||||
|
|
||||||
<!-- Radar screen -->
|
<!-- Radar screen -->
|
||||||
<string name="radar_back">Geri</string>
|
<string name="radar_back">Geri</string>
|
||||||
|
|||||||
@@ -40,17 +40,8 @@
|
|||||||
<string name="pass_welcome_title">欢迎来到 Look4Sat\!</string>
|
<string name="pass_welcome_title">欢迎来到 Look4Sat\!</string>
|
||||||
<string name="pass_welcome_message">请务必在设置中通过GPS、经纬度或QTH定位您的位置\n建议至少每周更新一次数据库,以确保预测结果的准确性</string>
|
<string name="pass_welcome_message">请务必在设置中通过GPS、经纬度或QTH定位您的位置\n建议至少每周更新一次数据库,以确保预测结果的准确性</string>
|
||||||
<string name="pass_whatsnew_title">Look4Sat Pro 更新内容</string>
|
<string name="pass_whatsnew_title">Look4Sat Pro 更新内容</string>
|
||||||
<string name="pass_whatsnew_message">
|
<string name="pass_whatsnew_message" translatable="false">
|
||||||
* 漫游页完整移植 QTH定位器 2.0:8 位网格、3x3 九宫格、红点查表定位、实时 GPS
|
* 修复设置页滑动时闪退的问题(页面顺序列表高度)</string>
|
||||||
\n\n* 修复内容被系统状态栏/导航栏遮挡;九宫格列宽与原版一致
|
|
||||||
\n\n* 漫游页配色跟随应用主题,红色夜间模式下清晰可见
|
|
||||||
\n\n* 设置:修复开关行挤压与感谢列表间距
|
|
||||||
\n\n* 应用名现为 Look4Sat Pro
|
|
||||||
\n\n* 设置:导入文件按钮更名为自定义URL,可直接编辑 TLE/收发机数据源地址
|
|
||||||
\n\n* 自定义数据源开关默认关闭;旧版占位 URL 自动重置为真实默认地址
|
|
||||||
\n\n* 新增 UI设置 卡片:可显示/隐藏底部菜单栏页面(顺序固定,设置页始终显示)
|
|
||||||
\n\n* 新增 页面顺序:在 UI设置 中拖动每页右侧抓手可调整底部菜单栏顺序,一键重置为默认顺序
|
|
||||||
</string>
|
|
||||||
|
|
||||||
<!-- Radar screen -->
|
<!-- Radar screen -->
|
||||||
<string name="radar_back">后退</string>
|
<string name="radar_back">后退</string>
|
||||||
|
|||||||
@@ -53,16 +53,7 @@
|
|||||||
\n\nPlease update the database at least weekly to get accurate predictions.</string>
|
\n\nPlease update the database at least weekly to get accurate predictions.</string>
|
||||||
<string name="pass_whatsnew_title" translatable="false">What\'s new in Look4Sat</string>
|
<string name="pass_whatsnew_title" translatable="false">What\'s new in Look4Sat</string>
|
||||||
<string name="pass_whatsnew_message" translatable="false">
|
<string name="pass_whatsnew_message" translatable="false">
|
||||||
* Roaming page ported verbatim from QTH定位器 2.0: 8-char locator, 3x3 grid, red marker lookup, live GPS
|
* Fixed a crash when scrolling the Settings page (page-order list height)</string>
|
||||||
\n\n* Fixed content overlapping the system status/navigation bars; grid columns now match the reference layout
|
|
||||||
\n\n* Roaming page colors follow the app theme - fully visible in red night mode
|
|
||||||
\n\n* Settings: fixed squeezed toggle rows and credits spacing
|
|
||||||
\n\n* App name is now Look4Sat Pro
|
|
||||||
\n\n* Settings: "Import" button renamed to "Custom URL" - edit TLE/transceiver source URLs directly
|
|
||||||
\n\n* Custom source toggles default OFF; legacy placeholder URLs are reset to the real defaults
|
|
||||||
\n\n* New UI Settings card: show/hide bottom navigation pages (order fixed, Settings always visible)
|
|
||||||
\n\n* Page order: drag the handle next to each page in UI Settings to reorder the bottom navigation, one-tap reset to default
|
|
||||||
</string>
|
|
||||||
|
|
||||||
<!-- Radar screen -->
|
<!-- Radar screen -->
|
||||||
<string name="radar_back">Back</string>
|
<string name="radar_back">Back</string>
|
||||||
|
|||||||
+7
-1
@@ -617,7 +617,13 @@ private fun DragOrderList(
|
|||||||
var draggingIndex by remember { mutableIntStateOf(-1) }
|
var draggingIndex by remember { mutableIntStateOf(-1) }
|
||||||
var dragOffset by remember { mutableStateOf(0f) }
|
var dragOffset by remember { mutableStateOf(0f) }
|
||||||
|
|
||||||
LazyColumn(state = listState, modifier = Modifier.fillMaxWidth()) {
|
// 固定高度: 嵌套在 LazyVerticalGrid 内必须给有界高度, 否则无限高度约束崩溃
|
||||||
|
LazyColumn(
|
||||||
|
state = listState,
|
||||||
|
modifier = Modifier
|
||||||
|
.fillMaxWidth()
|
||||||
|
.height(itemHeight * items.size)
|
||||||
|
) {
|
||||||
itemsIndexed(items, key = { _, s -> s.second }) { index, screen ->
|
itemsIndexed(items, key = { _, s -> s.second }) { index, screen ->
|
||||||
val isDragging = draggingIndex == index
|
val isDragging = draggingIndex == index
|
||||||
Row(
|
Row(
|
||||||
|
|||||||
Reference in new issue
Block a user