Hirdetés
- Bemutatkozott a Poco X7 és X7 Pro
- Samsung Galaxy S23 Ultra - non plus ultra
- Apple iPhone 16 - ígéretek földje
- Redmi Note 13 4G
- Azonnali mobilos kérdések órája
- Amazfit Bip 6 - jót olcsón
- Milyen okostelefont vegyek?
- Samsung Galaxy S25 Ultra - titán keret, acélos teljesítmény
- Android szakmai topik
- Drága Bluetooth tagek olcsóbb alternatívái (MiLi MiTag, LiTag, OTAG, stb.)
Új hozzászólás Aktív témák
-
WonderCSabo
félisten
Ma hajnali ötig szívtam a support lib miatt. A support Fragmenteket mindenki ismeri. Viszont kiderült a Googlenek egy turpissága, ami teljesen dokumentálatlanul történik support Fragmentek esetében.
Fragment hozzáadása alatt ez történik:
f.mView = f.onCreateView(f.getLayoutInflater(f.mSavedFragmentState),
null, f.mSavedFragmentState);
if (f.mView != null) {
f.mInnerView = f.mView;
f.mView = NoSaveStateFrameLayout.wrap(f.mView);
if (f.mHidden) f.mView.setVisibility(View.GONE);
f.onViewCreated(f.mView, f.mSavedFragmentState);
} else {
f.mInnerView = null;
}A NoSaveStateFrameLayout pedig ez:
class NoSaveStateFrameLayout extends FrameLayout {
static ViewGroup wrap(View child) {
NoSaveStateFrameLayout wrapper = new NoSaveStateFrameLayout(child.getContext());
ViewGroup.LayoutParams childParams = child.getLayoutParams();
if (childParams != null) {
wrapper.setLayoutParams(childParams);
}
NoSaveStateFrameLayout.LayoutParams lp = new NoSaveStateFrameLayout.LayoutParams(
ViewGroup.LayoutParams.FILL_PARENT, ViewGroup.LayoutParams.FILL_PARENT);
child.setLayoutParams(lp);
wrapper.addView(child);
return wrapper;
}
...
}Amint fent látható a Google azt a turpisságot követi el, hogy miután az onCreateView lefut, a Fragmentet egy új FrameLayout-ba wrappeli szépen... Ez a FrameLayout pedig jól szétcseszi a View hiearcihámat, különösen nested Fragmentek esetén. Egyébként csomó idő is volt rájönni erre... Az is totál inkorrekt, hogy elvileg az onViewCreated első paraméterének az a specifikációja, hogy az a View, amit az onCreateView csinált - na itt ez se fog érvényesülni, hiszen a wrapper FrameLayout lesz az onViewCreated első paramétere.
Remélem időt spóroltam Nektek ezzel, hátha Ti is belefuttok ilyesmibe.
Új hozzászólás Aktív témák
- Anglia - élmények, tapasztalatok
- Robotporszívók
- Milyen asztali (teljes vagy fél-) gépet vegyek?
- Bestbuy játékok
- LEGO klub
- Bemutatkozott a Poco X7 és X7 Pro
- Intel Core Ultra 3, Core Ultra 5, Ultra 7, Ultra 9 "Arrow Lake" LGA 1851
- Milyen RAM-ot vegyek?
- Apple asztali gépek
- Milyen routert?
- További aktív témák...
- Asus P8P67 EVO LGA 1155 alaplap
- Zsír Lenovo ThinkPad X13 G3 "Golyóálló" Laptop 13.3" -35% Brutál i5-1245U 12Magos 16GB 512GB FHD+
- Macbook Retina 12 2017 8/256 (A1534)
- Dobozos Lenovo Thinkpad T14s G6 Tartós Laptop 14" -60% Snapdragon X Elite 32/1TB FHD+ 22Hó Gar
- Samsung Odyssey LS49CG954SU OLED Monitor
- Apple iPhone 17 Pro Silver 256 GB Használt, karcmentes 100% akku / 0 ciklus 1 év gari!
- Microsoft Windows, Office & Vírusirtók: Akciók, Azonnali Szállítás, Garantált Minőség, Garancia!
- Lenovo Thunderbolt 3 kábel (4X90U90617)
- Keresünk Galaxy S22/S22+/S22 Ultra
- GYÖNYÖRŰ iPhone 12 Mini 64GB Blue -1 ÉV GARANCIA - Kártyafüggetlen, MS4082, 90% Akksi
Állásajánlatok
Cég: Laptopszaki Kft.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest


