Ú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
- Samsung Galaxy S25 Ultra 12/256gb (Jetbalck) - Újszerű, PITAKA tokkal, akár beszámítással
- i5-9600KF + ASUS PRIME Z390-P (RAM nélkül)
- MSI A850GF 850W Gold PCIe 5 Atx 3.0 12VHPWR Tápegység
- 4K Gamer PC (Ryzen 9 7950X3D, RX 7900 XTX, 64GB DDR5)
- Samsung Galaxy A35 256GB,Használt,Adatkabel,12 hónap garanciával
- GYÖNYÖRŰ iPhone 11 128GB Black-1 ÉV GARANCIA -Kártyafüggetlen, MS4360, 100% Akksi
- Konzol felvásárlás!! Playstation 5, Playstation 5 Pro
- HP OMEN Transcend 2.8K OLED / Ultra 7 155H / RTX4060 8GB / 16GB 7467MHz / 1TB NVMe! BeszámítOK
- HP ProDesk 600 G5 i5-9500 16GB 512GB 1 év garancia
- GYÖNYÖRŰ iPhone 14 Pro 128GB Space Black -1 ÉV GARANCIA - Kártyafüggetlen, MS4619, 100% Akksi
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
