Új hozzászólás Aktív témák
-
thon73
tag
Köszönöm!
A gond csak az, hogy még mindig nem értem a használatát. Ezt vajon a View állítja be, ha nagyobb akar lenni, mint a Parent által adott érték? És akkor a Parent mit tesz? Tudomásul veszi, vagy küld nagyobb értéket? (Gondolom, ez nincs felprogramozva, csak a logikát kérdem.)A konkrét probléma lényege:
A parent egy frame-layout, amit a rendszer ad a KeyboardLayout számára, nem tudom megváltoztatni.
A Custom View magassága (alapvetően a rendelkezésre álló szélességtől függ), de ami fontos: nem haladhatja meg a rendelkezésre álló magasság egy bizonyos százalékát. Ez idáig egyszerűnek tűnik.
DE!
A mérési ciklus során egy csomó onMeasure() hívást kapok, melyek némelyike a teljes magasságot, némelyike a Navigation Bar-ral csökkentett magasságot, némelyike a már számított magasságot, némelyike pedig az általam számítottnál is kisebb magasságot kap meg - persze mindig AT_MOST megjelöléssel.
Hozzáteszem: a Custom View onMeasure metódusa MINDIG egy fix magasságértéket ad vissza - ami viszont természetesen nagyobb, mint fent a negyedik érték.Itt vált gyanússá, hogy használnom kellene ezt a bizonyos bitet. De akár beállítom, akár nem, ugyanaz történik. Pedig ettől reméltem a megoldást.
A hibajelenség (lehet, hogy ettől független): A Custom View tényleges magasságmérete némileg random értéket vesz fel. Néha pontos, fekvő módban néha "odaképzeli" maga alá a Navigation Bar-t (ami egyébként oldalt van), álló módban meg néha becsúszik a Navigation Bar mögé. Tíz esetből kb 1-2 alkalommal hibás, holott a logika mindig ugyanaz. És csak elforgatás után jelentkezik a hiba, ha requestLayout()-ot kérek, akkor pontosan számol.
Sehol nem találtam ilyen hibáról leírást, és elképzelni sem tudom, mit csinálok rosszul. A teljes program túl nagy, kellene írni egy rövid tesztet, de ahhoz se kedvem, se időm. Vagy a rendszerben van a hiba, az is lehet. Bocs, hogy hosszú voltam, de tényleg a fejem verem tőle a falba.
Közben rájöttem, hogy megkerülésül minden elfordítás (és measure cycle) után kiadok egy requestLayout-ot, ami rendezi a View-t. De valószínű nem ez a korrekt megoldás.
Új hozzászólás Aktív témák
- HP EliteDesk 705 G4 / AMD Ryzen 3 Pro 2200G / 16GB DDR4 /256 GB SSD 6 hó garancia
- 2017 iMac 27" 5K Retina, 16gb ddr4,250gb ssd, Radeon Pro 570 4 GB dedikált
- Xbox One S Minecraft Edition 1 TB + kontroller 6 hó garancia, számlával!
- SAPPHIRE RX 9070 16GB GDDR6 PULSE - Új, 2 év gari - Eladó!
- Motorola Edge 50 Fusion 256GB,Újszerű,Dobozaval,12 hónap garanciával
- iPhone X 64Gb akku 100%
- Honor X7b / 6/128GB / Kártyafüggetlen / 12Hó Garancia
- ÁRGARANCIA!Épített KomPhone Ryzen 7 5700X 16/32/64GB RAM RX 9060 XT 8GB GAMER PC termékbeszámítással
- Honor Magic6 Pro / 12/512GB / Kártyafüggetlen / 12Hó Garancia
- Beszámítás! LG UltraGear 27GR93U-B 27 144Hz UHD IPS 1ms monitor garanciával hibátlan működéssel
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest


