|
@@ -4270,6 +4270,29 @@ terwijl een verborgen-maar-aanwezig widget er wél in staat. Reken bij
|
|
|
een `Row` met vaste breedtes dus altijd even uit of N × breedte binnen
|
|
een `Row` met vaste breedtes dus altijd even uit of N × breedte binnen
|
|
|
de smalste doeldevice-breedte past (telefoon-AVD = 411dp).
|
|
de smalste doeldevice-breedte past (telefoon-AVD = 411dp).
|
|
|
|
|
|
|
|
|
|
+**⚠️ Omgekeerd: staat er iets WEL op het scherm maar NIET in de
|
|
|
|
|
+accessibility-tree, dan is het geen widget maar een AFBEELDING — kijk naar de
|
|
|
|
|
+geüploade content, niet naar de code.** Bevestigd 2026-09-22, en het kostte een
|
|
|
|
|
+uur plus een APK-build. Op `MijnAanmeldingen` leek in élke kaart een misplaatst
|
|
|
|
|
+blok uit `mijnProfiel` te staan (een kaartje met pijl, een lege rode knop, en
|
|
|
|
|
+"My Establishments" + "Add a venue"). Het bleek de **logo-afbeelding van het
|
|
|
|
|
+evenement**: `Image.network(getJsonField(item, r'$.logo'))`, en als logo was bij
|
|
|
|
|
+die testindieningen een *screenshot van de app zelf* geüpload. Vier signalen die
|
|
|
|
|
+je meteen de goede kant op sturen:
|
|
|
|
|
+- `uiautomator dump` toont de kaart als één merged node met alleen de échte
|
|
|
|
|
+ tekst; de "widgets" uit het blok komen er niet in voor. Tekst in een Flutter-
|
|
|
|
|
+ widget komt daar altijd wél in.
|
|
|
|
|
+- Een `grep` op de zichtbare tekst geeft in de hele `lib/` **nul** gerenderde
|
|
|
|
|
+ treffers (hooguit als vertaalwaarde van een sleutel die elders staat).
|
|
|
|
|
+- De tekst is in een andere taal dan de rest van het scherm — een screenshot
|
|
|
|
|
+ bevriest de taal van het moment waarop hij gemaakt is.
|
|
|
|
|
+- Het overleeft een `force-stop` + een verse build: serverdata, geen code.
|
|
|
|
|
+**Vuistregel: doe de `uiautomator dump` als EERSTE stap** bij een vreemd blok op
|
|
|
|
|
+een lijstkaart. Twee verkeerde sporen die ik er anders achtereenvolgens in stak:
|
|
|
|
|
+"het is een oude build" (weerlegd door de installatietijd en de knopstijl te
|
|
|
|
|
+vergelijken) en "het is een stale render-tile van de emulator" (weerlegd door
|
|
|
|
|
+force-stop + deep link rechtstreeks naar de route).
|
|
|
|
|
+
|
|
|
**Wél een overflow-melding, maar je weet niet wélke widget de ruimte opeet:
|
|
**Wél een overflow-melding, maar je weet niet wélke widget de ruimte opeet:
|
|
|
vraag de render-tree op bij de draaiende DEBUG-app via de Dart VM service.**
|
|
vraag de render-tree op bij de draaiende DEBUG-app via de Dart VM service.**
|
|
|
Dat geeft per RenderBox de exacte `constraints` en `size` — meten in plaats van
|
|
Dat geeft per RenderBox de exacte `constraints` en `size` — meten in plaats van
|