• úvod
  • témata
  • události
  • tržiště
  • diskuze
  • nástěnka
  • přihlásit
    registrace
    ztracené heslo?
    LWEEKAndroid development
    JOHNY_G
    JOHNY_G --- ---
    LWEEK: Tohle je problém vývojářů, kteří nejsou sžití s cílovou platformou. Zcela nesprávně očekáváš iOSové chování a snažíš se aplikovat iOSové postupy na prostředí jiného systému. Je tu strašně moc proměnných na to, abych ti poradil konkrétní řešení. Možná by stačilo mít BottomNavigationView v aktivitě a obsah ve fragmentu, a korektně pracovat s gravity vs. layout_alignParentBottom/layout_constraintBottom_toBottomOf a windowSoftInputMode. Možná by stačil windowSoftInputMode s jinou strukturou layoutu. Možná, že by se na to dal použít CoordinatorLayout s příslušným layout_behavior. Těžko říct zpatra, bude to chtít trochu experimentování :-).

    LWEEK: Notch se na Androidu handluje přes fitsSystemWindows a WindowInsets (resp. WindowInsetsCompat, pokud si chceš ušetřit bolehlav). Ve většině případů funguje fitsSystemWindows naprosto automaticky (když ho pochopíš), někdy ale musíš něco ručně postrčit přes inset.

    No a kdybys trval na jablečném přístupu, můžeš, tuším, WindowInsets (nebo úplně na surovo ViewTreeObserver) použít právě i na to skrývání bottom baru. Jeden z mnoha přístupů řeší třeba tento článek (jeho prioritou jsou animace, ale tento problém adresuje): https://proandroiddev.com/animating-keyboard-appearance-in-android-application-425a2a26de9a
    TOOMIX
    TOOMIX --- ---
    Děláme pro Android a iOS v Xamarin.Forms s komponentama od Syncfusion a na iOS se toho moc pozitivního říct nedá, samý klacky pod nohy, ale každá ta platforma má svoje plusy a mínusy
    STARF
    STARF --- ---
    a jestli to ma byt bez skakani, tak bych pouzil scrollTo()
    ale nejaky maly "glitch" tam asi vzdy bude, vic se mi libi smoothScrollTo()
    STARF
    STARF --- ---
    LWEEK: Mas v AndroidManifest u tagu activity pridano android:windowSoftInputMode="adjustResize" ?
    Ve fragment XML potom je nutne u nestovaneho view pridat android:layout_alignParentBottom="true". A v tride mScrollView.post { mScrollView.smoothScrollTo(0, saveButton.y.toInt()) }.
    pozn.: saveButton je posledni view, co ve fragmentu mam - proto jsem to testoval na nem

    zkousel jsem si ted udelat jeden layout s edittextem, abych si otevrel softinput (klavesnici) a nasledne prejit do dalsiho fragmentu a chova se to spravne
    TCHUBA
    TCHUBA --- ---
    LWEEK: Když potřebuješ soubor rozdělit na tematické bloky, máš moc dlouhý soubor :D
    Taky roky dělám jak iOS tak Android a dokud Xcode nevyhodí adresářovou strukturu řešenou přes pbxproj, nepřestane mi při každém git commitu nabízet neznámé soubory které jsou v .gitignore (něco z dependencies) a začne brát parametry ze storyboardů stejně jako ze swift kódu (dívám se na tebe, semanticContentAttribute, který ve storyboardu nefunguje a ve swiftu ano), tak budu vždycky preferovat Android Studio
    LWEEK
    LWEEK --- ---
    To já zase brečím s Android studiem. Děsně mě prudí třeba to, že to neumí nějaké značky které funkcionalitu v jednom souboru rozdělí na "tématické" bloky. Asi to je fakt jak co komu sedí, na co je zvyklý. Mimochodem už jsi někdy v Androidu řešil notche? V iOS je tam virtuální hook (constrainta). V Androidu nic takového není. Byl tam parametr s výškou notche, který byl privátní ale viditelný, tak ho pro jistotu Google úplně schoval a jediná šance jak to řešit je přetížit View a odchytávat si event bublající skrze view strom. Sranda ale je, že nemáš nikdy 100% jistotu že ti tam ta hodnota dobublá, protože ji může něco po cestě "zkonzumovat". Šílenství.
    LWEEK
    LWEEK --- ---
    YAZZMAN: To je právě to. Dělám EET kasu a řeším každý pixel. Každý mobil má jinak vysokou soft klávesnici. Potřebuju ten input vertikálně umístit nad klávesnici. Za normálních okolností když nastavím, že se má view přizpůsobovat view portu tak to funguje, ale tady nemohu protože potřebuju mít staticky nasázený viewčka a zarovnaný ke spodku obrazovky. Jo a obrazovka musí být fullscreen. Takže takové to automatické posouvání TextInputů nefunguje.
    YAZZMAN
    YAZZMAN --- ---
    LWEEK: 6 let delam Android i iOS najednou a musim rict, ze to mam presne naopak: jakmile mam delat iOS, vyskacou mi pupinky :(
    Xcode neni dobre IDE ani vzdalene a jakmile vidim konflikty ve storyboardech, jdu si hodit :(

    Kazdopadne to co popisujes mi zni strasne nestandardne. Asi bych musel znat use case, ale vysku klavesnice pred tim, nez se realne vykresli, nezjistis. Muzes si napojit listener na focus change na editTexty a resit to tam, ale fakt nevim, jestli je to to, co potrebujes :)
    LWEEK
    LWEEK --- ---
    Musím říct, že z Androidu asi zešílím. 7 let jsem dělal iOS vývojáře. Teď rok dělám Android vývojáře a neustále narážím na neskutečný shit. Například potřebuju upravit layout podle velikosti softwarové klávesnice. Ale chci to udělat ještě předtím než se layout vykreslí aby to uživateli neskákalo. Myslíte, že se v Androidu dá nějak normálně dotázat na výšku soft. klávesnice? Za ten rok jsem fakt na pokraji vyhoření. Jak to můžete dělat a nezbláznit se? x)
    GIOMIKY
    GIOMIKY --- ---
    Takova zacatecnicka otazka. Mam MainActivity tridu. V ni webview. Jak spravne zavolat metodu webview z jine tridy? Webview neni staticke. A vytvaret objekt hlavni tridy mi taky neprijde jako stastny napad...
    LWEEK
    LWEEK --- ---
    Když to tak čtu, tak mám chuť jít péct housky. Možná budu vnitřně spokojenější a dožiju se vyššího věku. :)
    MR_DAN
    MR_DAN --- ---
    LUCIEN: super!

    jedna spis z projektoveho soudku - pokud si vyberu flutter misto react-native (ve spouste parametru to dava smysl), jak moc hur se mi budou shanet vyvojari na to? ma nekdo zkusenost? nebo se libovolnej reactak vklidu nauci i s dartem?
    protoze react je aktualne celkem trendy, o dartu jsem se dozvedel ted (nejsem uplne frontend/mobilni vyvojar)
    LUCIEN
    LUCIEN --- ---
    Pardon za pripadne OT [ Flutter a Dart ]
    BRAP242
    BRAP242 --- ---
    JOHNY_G: ja ve flutteru delam a muzu potvrdit ze zatim to vypada na prvni poradny multiplatformni framework....
    ROTTWEILER
    ROTTWEILER --- ---
    LWEEK: Pokud porovnáš UI u aplikací od velkých firem, tak je to v podstatě stejné na obouch platformách. Ta rychlost taky není problém a leckdy je to rychlejší než nativní tookit pokud je to kompilované.

    Jediný problém je interakce s nativními API, protože ty bridge mají dost často bugy nebo jsou pomalejší, ale pokud člověk nepotřebuje nutně API z platformy, tak multiplatformní je skvělý.
    TOOMIX
    TOOMIX --- ---
    LWEEK: my jedeme v Xamarin.Forms v kombinaci se Syncfusion a docela to jde
    MR_DAN
    MR_DAN --- ---
    nezacinaly takhle pred 15-20 lety debaty o jave? :-)
    LWEEK
    LWEEK --- ---
    Já tyhle multiplatformní udělátka nemusím. Chápu ekonomiku věci. Rozumím tomu, že vývoj mobilních aplikací není levný a tak se sahá po těhle frankensteinech. Mám k tomu ale pár výhrad, když opominem rychlost, stabilitu a podporu specifických funkcí platformy.

    Psát jedno UI pro vícero platforem je jako Esperanto pomocí kterého se měli domluvit všechny národy světa. Nápad dobrý, ale Esperantu skoro nikdo nerozumí a doma není nikde. Stejně tak alternativní UI frameworky mluví na uživatele divným jazykem vzdáleně připomínající něco povědomého.

    Dokud je apka malá a jednoduchá, tak to celkem jde. Jakmile vyroste a začnou se klást nároky, tak se to může změnit, a dost často mění, v malou noční můru. Co je v nativním kodu za chvilku může být na alterativní tchnologii boj o život. Náskok na začátku projektu se posléze vykompenzuje na těhle nepříjemnostech které nezřídka končí obligátním "sorry, nejde to".

    LWEEK
    LWEEK --- ---
    JOHNY_G: Jo ty kokso, to bude to v čem se teď tak vehementně píšou ošklivé bankovní aplikace. :D A já si říkal co to je za divnohybrid.
    JOHNY_G
    JOHNY_G --- ---
    REFLEX: Já jako nativní vývojář podobné frameworky nesnáším. Cokoli jsem vyzkoušel, byl vždycky průser, tak jsem to přestal zkoušet :-). Ale jestli bych něčemu dal šanci, tak je to Flutter (mají i guide pro reactivce a webaře). Na ten mám naprosto fantastické ohlasy, a mohlo by ti to jako webaři být bližší než Kotlin. Navíc to pak rovnou vyplivneš třeba pro jabko :-).
    Kliknutím sem můžete změnit nastavení reklam