Autor Téma: Rozlišení aplikace  (Přečteno 7546 krát)

Offline AlienStar

  • Mladík
  • **
  • Příspěvků: 87
  • Karma: 2
Rozlišení aplikace
« kdy: 05-01-2016, 10:30:12 »
Přeji hezký den.

Měl bych jeden dotázek.

Mám udělanou aplikaci, kdy rozlišení aplikace bylo :
Form1.ClientHeight := 638;
Form1.ClientWidth := 359;

... což se zobrazovalo jako OK .

Pořídil jsem si nový mobil s rozlišením 1280 x 720  a tak jsem tyto dvě hodnoty změnil na

Form1.ClientHeight := 1280;
Form1.ClientWidth := 720;

(zkoušel jsem i FormFactor)

Bohužel žádná změna nenastala :-(

Většina aplikace je mimo displej.

Nastavuje se ještě někde jinde, jaký rozlišení má displej mobilu ?

Děkuji
Milan

Offline AlienStar

  • Mladík
  • **
  • Příspěvků: 87
  • Karma: 2
Re:Rozlišení aplikace
« Odpověď #1 kdy: 05-01-2016, 21:15:42 »
opravdu nikdo nevíte ? :-(

Offline Stanislav Hruška

  • Padawan
  • ******
  • Příspěvků: 2976
  • Karma: 29
    • Verze Delphi: XE7 professional
Re:Rozlišení aplikace
« Odpověď #2 kdy: 05-01-2016, 22:57:01 »
Delphi XE7, FireBird
Expert na kladenie nejasne formulovaných otázok.

Offline AlienStar

  • Mladík
  • **
  • Příspěvků: 87
  • Karma: 2
Re:Rozlišení aplikace
« Odpověď #3 kdy: 05-01-2016, 23:04:28 »
ne ne,, já tam vidím co potřebuju, jen je to za okrajem,, prostě mi nesedí rozlišení ,, vůbec nevím kde to nastavit :-(
už jsem z toho zoufalý

Offline < z >

  • Administrátoři
  • Guru
  • *****
  • Příspěvků: 1083
  • Karma: 38
    • Verze Delphi: 7, 2010
Re:Rozlišení aplikace
« Odpověď #4 kdy: 06-01-2016, 09:01:47 »
A nezkoušel jsi prostě udělat testovací aplikaci, pár tlačítek, labelů a hrát si s Width, Height, Scale, Position ... tak dlouho, dokud se ti formulář do obrazovky nevešel?

Offline pf1957

  • Padawan
  • ******
  • Příspěvků: 1853
  • Karma: 87
    • Verze Delphi: D2007, XE3, DX10
Re:Rozlišení aplikace
« Odpověď #5 kdy: 06-01-2016, 09:23:03 »
ne ne,, já tam vidím co potřebuju, jen je to za okrajem,, prostě mi nesedí rozlišení ,, vůbec nevím kde to nastavit :-(
už jsem z toho zoufalý

Tak to asi nevidis, co potrebujes, ne?  ;D

Jestli nenadesel cas si o problematice mobilniho vyvoje neco nastudovat, opice - neopice, misto bezducheho postupu pokus-omyl.

Nejlepe z nejakych didakticky zpracovanych monografii, nez nejakych programatorskych zblitku po blogach. Napr. moje oblibene nakladatelstvi, kde jsem nakoupil desitky knih, je https://www.manning.com/catalog

Offline raul

  • Plnoletý
  • ***
  • Příspěvků: 175
  • Karma: 10
    • Verze Delphi: FPC :D
Re:Rozlišení aplikace
« Odpověď #6 kdy: 06-01-2016, 10:20:10 »
Podle me je to ten samy pripad jako muj.

pf1957: Podle me by tohle vyrobce daneho softu mel jasne davat najevo vsude mozne.

Teda jsem rad, ze emb nedela do aut, to by bylo paraler :
- Tohle tlacitko slouzi pro prepnuti do offroad modu. - Tak proc nemuzu vyjet z toho pole ? - Protoze, na offroad mod musite mit jine auto :D
- Proc na nemuzu zatocit doleva doprava na dalnici ? Protoze auto samo (BEZ TOHO ABYCHOM VAS INFORMOVALI VSUDE MOZNE) samo zapne asistenta, ktery ridi volant. (doplnek pro pf1957 : No a pokud si na internetu najdete patricnou knihu (ne od vyrobce) docetl by jste se to tam a vlastne jste vul, ze jste to neudelal! ) - Tot jasna narazka na polozky absolutniho pozicovani, ktere nefunguji jak by mely - coz je jen diletanstvi Emb. Vyresit toto k funkcnosti musi byt hracka, stacilo vse nasobit onou konstantou, kterou mobil vracel spravne. Pak by nebyly veci za rohem.
- Nebo, k cemu pak je mi ve formuli saltpaka vpravo od volantu ? - Kdyby jste nahodou jel po D1, budete ji urcite potrebovat zde.

Ze bych zkusil udelat demo apku, aby bylo krasne videt ta naprosta nelogisnoct chovani, ktere je udelane napul ?

Jako treba (z patra) button.left := screen.width - 100; button.width = 100; Kde je button ? za rohem :D (musim vyzkouset, ale podobne se mi to tehda chovalo.
Pak jsem nasel onu funkci, ktera vracela cosi jako dpi prepoctene na buhvico. Na jednom mobilu vracelo 1.6 kdyz jsem pak udelal cosik jako
button.left := (screen.width-100)/gettakonstanta; button.width = 100; pak najednou tlacitko bylo kde melo, akorat treba s blbym textem. A fakt sorry, tohle se - vzhledem k tomu, jaky jsou delphi nastroj - vyresit da za chvili.

P.S.> Nekde na netu jsem nasel postup, jak pridat profil primo pro Galaxy S5 - tak sjem ho pridal, profil tam byl, zeditoval jsem form spesl pro nej - s napisem S5 a ejhle, ani podle ofiko postupu dle webu emb nebyl profil vybran na S5. Ale opet, starsi verze delphi - mozna, nevim.

Proste tu neveste lidem buliky na nos, jak to vse funguje a prestante z lidi, co byli 20 let zvykli neco delat nejak a najednou BEZ duraznych upozorneni to maji delat jinak. Zvlaste, kdyz k tomuto postupu navadi i moznost vytvoreni si ruznych profilu formu pro ruzna zarizeni.
« Poslední změna: 06-01-2016, 10:49:31 od raul »
Lazarus 1.6.3:), FPC, Intel/Arm, Windows/Linux

Offline našinec

  • Hrdina
  • ****
  • Příspěvků: 315
  • Karma: 4
Re:Rozlišení aplikace
« Odpověď #7 kdy: 06-01-2016, 10:40:01 »
Včera jsem se trochu více hrabal ve FMX v XE8. Upozorňuji, že mi nešlo o tvorbu aplikace pro mobil, ale jen posouzení, jak složité je v tom programovat a zda je to alternativa k VCL. Zajímala mne práce se základními vlastnostmi komponent pro GUI, pak jsem se díval, jak pokročila práce na Stringridu, MediaPlayeru,...Výsledek? Zlaté Borland Delphi7.

Je pravděpodobné, že bych se na to díval jinak, pokud bych z konzolových aplikací skočil rovnou do FMX.

Nápověda, to je kapitola sama o sobě.

Úplně z toho všeho na mne číšila obchodní stragédie emb - vytváření základů pro nutnost dalšího update, pořizovat si odbornou literaturu k tématu, odebírat tutoriály na youtube, chození na školení, atd.
« Poslední změna: 06-01-2016, 10:42:21 od našinec »

Offline raul

  • Plnoletý
  • ***
  • Příspěvků: 175
  • Karma: 10
    • Verze Delphi: FPC :D
Re:Rozlišení aplikace
« Odpověď #8 kdy: 06-01-2016, 10:47:07 »
Pod tohle se rad podepisu. To, co a jak kvalitne, umely tyhle stare verze delphi, je na hony vzdalene produktum dnesni doby.
Lazarus 1.6.3:), FPC, Intel/Arm, Windows/Linux

Offline pf1957

  • Padawan
  • ******
  • Příspěvků: 1853
  • Karma: 87
    • Verze Delphi: D2007, XE3, DX10
Re:Rozlišení aplikace
« Odpověď #9 kdy: 06-01-2016, 10:54:06 »
pf1957: Podle me by tohle vyrobce daneho softu mel jasne davat najevo vsude mozne.
ze je 1+1=2 se taky vsude mozne nezduraznuje a predpoklada se urcity fundament... Proc si myslis, ze kdyz jsi umel naprgat desktopovou aplikaci, ze automaticky umis naprgat mobilni, webovou, serverovou ci buhvi jakou :o

Marketingové samozrejme tvrdi (nebo jak pises vesi buliky na nosy), ze je to totez a ve vsech povrchnich tutorialech je to tak taky ukazovano, ze to totez je. Chteji tak docilit, aby potencialni zakaznici zustali ze setrvacnosti u produktu, misto aby si o tom neco precetli a pak teprve volili nastroj odpovidajici jejich potrebam. Jedine v cem ti dam za pravdu, ze s literaturou kolem Delphi je to poslabsi.

Citace
(doplnek pro pf1957 : No a pokud si na internetu najdete patricnou knihu (ne od vyrobce) docetl by jste se to tam a vlastne jste vul, ze jste to neudelal! )
V mych ocich urcite. Ja si i u kazdeho noveho auta prectu celou prirucku  ;) On ani M$ nepise knihy, jen reference a plati nejake technical writery tutorialu. Monografie pisi a vydavaji jini.

Offline raul

  • Plnoletý
  • ***
  • Příspěvků: 175
  • Karma: 10
    • Verze Delphi: FPC :D
Re:Rozlišení aplikace
« Odpověď #10 kdy: 06-01-2016, 11:12:54 »
pf1957: A ted si predstav, ze najednou bude 1+1=3 a nikdo ti to nerekne. Ale mel bys najit "nejakou" prirucku na netu, tu zakoupit, a tam by ti to na 50te strance rekli. Nebo mi najdi adekvatni prispevek - krom diskusi tohoto typu - kde se nekdo adekvatne vyjadruje k tomu, co a jak. Krome veci stylu, tohle tam moc nefunguje udelej to takto. Me osobne prijde zase tohle jako obchazeni neschopnosti emb. Pokud mam nekde nejakou published property, fakt nejsem zvyklej na to, ze ji vlastne nemuzu pouzit. A v dnesni dobe by slo asi i vyresit ignornovani nekterych properties na ruznych platformach.

Desktop app jsem nepsal (delam spis serverovy veci, krome par vetsich veci z minulosti, ale to uz je let hodne, obcas nejakou utilitku), ale o tom snad delphi vzdy bylo ne ? Wysiwyg form editor na skvele urovni. Nyni ma bugy (nebo tomu muzeme rikat jinak), ze neumi tyhle veci kolem absolutniho pozicovani spravne prepocitavat. Kazdopadne z prace se stalo hrani - jak tu nekdo psal, zkousej, dokud se ti to nebude chovat na woknech jak chces. Ja myslel, ze mame programovat a ne zkouset delat formular.

Co se tyce prirucky - ja si u tohoto auta prirucku (postup na webu vyrobce) precetl a nebylo v ni nic o tom, ze by se absolut nemel pouzivat. Sam ty (mam pocit) jsi odkazal na literaturu odjinud.

Lidi nejste uz z toho sveta trochu mimo ? Je tu produkt, ten produkt navadi k pouziti, ktere leta fungovalo (vcetne existence polozek LWRH u androidu), zde to nefunguje (pouze kvuli absenci nasobeni vseho koeficiantem dotycne funkce (u me 1.6, takze vse bylo 1.6* vetsi = za rohem)) a vyrobce slibuje RAD ???
Navic pribyly profily zarizeni, takze logicky dochazim k tomu, ze vse je mozno delat jako driv - a automaticka namitka jak s rozlisenimi a dpi je zahrnuta v moznosti profilu.

Fakt strcte saltpaku do formule a pak se divte (a poukazujte na blbce piloty), ze jim budto prekazi, pripadne ji chteli pouzivat a skoncili ve svodidlech.

Lazarus 1.6.3:), FPC, Intel/Arm, Windows/Linux

Offline pf1957

  • Padawan
  • ******
  • Příspěvků: 1853
  • Karma: 87
    • Verze Delphi: D2007, XE3, DX10
Re:Rozlišení aplikace
« Odpověď #11 kdy: 06-01-2016, 11:26:45 »
spravne prepocitavat. Kazdopadne z prace se stalo hrani - jak tu nekdo psal, zkousej, dokud se ti to nebude chovat na woknech jak chces. Ja myslel, ze mame programovat a ne zkouset delat formular.
V tomhle si zrejme nikdy neporozumime. Kdybych mel zacit programovat mobilni zarizeni, tak prvni co udelam, ze si koupim alespon 1-2 monografie o jejich programovani a ty si prectu. Tim ziskam zakladni predstavu, co to obnasi, jake jsou spravne postupy (napr. na webech se nepracuje s abs. rozmery, ale virtualnim viewportem zpravidla nastavenym na device-width a scrollable vyskou, jednotky se pouzivaji relativni napr. vh, vw aj), jake jsou nastroje atd. A pak se mi snaze bude hledat v referencich i na forech. A pak teprve budu vybirat nastroj, pokud nebyl urcen apriory.

Offline našinec

  • Hrdina
  • ****
  • Příspěvků: 315
  • Karma: 4
Re:Rozlišení aplikace
« Odpověď #12 kdy: 06-01-2016, 11:36:33 »
Citace
Monografie pisi a vydavaji jini.

Hned s novým produktem nějaký 'koníčkář' vydá návod o 1000 stranách.  ;)

Offline raul

  • Plnoletý
  • ***
  • Příspěvků: 175
  • Karma: 10
    • Verze Delphi: FPC :D
Re:Rozlišení aplikace
« Odpověď #13 kdy: 06-01-2016, 11:44:18 »
Neporozumime. Ja, pokud nastroj pouzivam leta, a najednou nastroj slibuje co potrebuju jako novinku, a slibuje, ze to pujde hopem, prohlednu dema, zkusim napsat par prikladu, overim, co a jak je. A pak nastroj pouziju. Tady jsem neuspel, hledal jsem reseni vsude mozne po internetu, na webu vyrobce, sel na predstaveni kazde verze delphi, abych se tam behem n hodin dovedel n-krat totez, obcas aby neco nefungovalo (coz se stava mene casto, nez u MS, ale stejne je to mirne divne), poslouchal marketingove reci o tom, jak je to suprzelene (a pak na forech cetl realne zkusenosti, ze je to obcas spis do ruda). Pokud jsem v tomto bode, zkusim debugovat interni knihovny, koukat, kde se co deje jinak nez by melo (pokud to jeste tak nizko vubec jde), a zjistim, ze vyber sablony formu se vybira blbe, zjistim, ze zatimco rozliseni mobil vraci dobre, ja mam dobre clientw/h, dobre mam buttony a ejhle jsou jinde. Proctu znovu web postupu, projdu google, jestli to nekdo neresil a zjistim, proste to neprorazim. Na jednom webu najdu demo priklad vykreslovani ctverecku, stahnu, pustim, zjistuju zhruba rozdil 1.6, hledam a heldam az najdu funkci, ktera jakousi takovou konstantu vraci, zkusim tedy vse delit touto konstantou a ejhle, zacina to vypadat podobneji tomu co chci - v RT, v DT je to jinak. Zkusim trik, udelam demo, nakresli ve FD, a po spusteni pustim metodu prepoctivsedelenojednaset... Juuuu, mam aplikacku jako ve FD :-) Congratulations Emb. A ted jeste prijit na to, proc se konkretnejsi profil zarizeni S5 nenacita, kdyz podle Emb by se nacitat mel... Co to safra udela na jinem mobilu, nacte se, nenacte, buh vi. Takze asi panove v RM (Emb bude asi jinde) JENOM zapomeli pouzit toto a vse by fungovalo. Je vsak lepsi presvedcit stado, ze je to vlastnost, ne BUG a ono samo oznaci potencialni nespokojene uzivatele za idioty.

Ale jo, to jedno z prvnich FMX demicek vypadalo fakt suprove, jak mel tu kostku a otacel s plochama. Dokonce i sync ovladacich prvku vypadal paradne (az pak jsem zjistil, jak to vlastne je udelane). Styly, no parada. Akorat ten FD stale ne a ne vypadat stejne v navrhu a spusteni.

Kde jsou doby Mistrovstvi v Delphi od M.C.

ad html - jake se pouziva pozicovani na webu mas v KAZDE zmince o programovani/designovani www stranek a co vim, tak se enormne nezmenilo, navic html jako takove nedela jedna firma, ktera to zmeni, necha puvodni properties a nikomu nic nerekne. Web emb jsem prosel a nikde (v zadnych takto se delaji mobilni(multi) aplikace to zmineno nebylo.

Nasinec: Palec nahoru !
« Poslední změna: 06-01-2016, 11:48:01 od raul »
Lazarus 1.6.3:), FPC, Intel/Arm, Windows/Linux

Offline pf1957

  • Padawan
  • ******
  • Příspěvků: 1853
  • Karma: 87
    • Verze Delphi: D2007, XE3, DX10
Re:Rozlišení aplikace
« Odpověď #14 kdy: 06-01-2016, 11:52:26 »
Hned s novým produktem nějaký 'koníčkář' vydá návod o 1000 stranách.  ;)
No ja nevim, jestli treba Jon Skeet je nejaky konickar...

Offline našinec

  • Hrdina
  • ****
  • Příspěvků: 315
  • Karma: 4
Re:Rozlišení aplikace
« Odpověď #15 kdy: 06-01-2016, 11:56:35 »
Hned s novým produktem nějaký 'koníčkář' vydá návod o 1000 stranách.  ;)
No ja nevim, jestli treba Jon Skeet je nejaky konickar...

Chtěl jsem tím především říci, že logicky za tím musí stát ebm.

Offline chaloup

  • Mladík
  • **
  • Příspěvků: 85
  • Karma: 9
    • Verze Delphi: Delphi 10.2
Re:Rozlišení aplikace
« Odpověď #16 kdy: 06-01-2016, 13:47:52 »
Flame o tom jak kvalitně/nekvalitně je FMX napsáno/navrženo je na internetu spousta a je pravdou, že marketingový slogan je něco jinýho než realita.
Jestliže budu navrhovat aplikaci v XCode(Apple) přes absolutní souřadnice, tak dojedu na úplně stejný problémy, který tady řešite, je to bad application design

Základní poučky pro všechny co chtějí dělat mobilní vývoj:
- přestaňte navrhovat formuláře v absolutních souřadnicích, zapomeňte, že něco takovýho existuje!
- používejte layout(y), první komponenta na formuláři musí být nějaký kontainer (TLayout, TTabControl) s Align := Client http://docwiki.embarcadero.com/RADStudio/Seattle/en/FireMonkey_Layouts_Strategies
- používejte vlastnoti jako jsou Align, Margins, Padding http://docwiki.embarcadero.com/RADStudio/Seattle/en/Arranging_FireMonkey_Controls
- jestliže položíte na button obrázek nezapomeňte u něj vypnout HitTest
- stáhněte si samples http://sourceforge.net/p/radstudiodemos/code/HEAD/tree/branches/RADStudio_Seattle/
- samples k uživatelskýmu rozhraní http://sourceforge.net/p/radstudiodemos/code/HEAD/tree/branches/RADStudio_Seattle/Object%20Pascal/Multi-Device%20Samples/User%20Interface/

Pozor
- FMX TPanel funguje jinak než komponenta stejného jména z VCL, ekvivalent panelu z VCL je spíše TLayout
- Kreslit nebo resizovat formuláře v absolutních souřadnicích z důvodu toho že FMX do toho ještě nějak montuje DPI zařízení moc nefunguje
- Livebinding jsou děsně žravý, kdo je zvyknutejz VCL, že hodí na form grid a přimontuje k tomu Query s 100.000 záznamy a Delphi si načtou jen první stránku co je vidět ... tak takhle to tady nefunguje, všechno se to stěhuje do paměti...
- ShowModal funguje jinak než ve VCL http://docwiki.embarcadero.com/RADStudio/Seattle/en/Using_FireMonkey_Modal_Dialog_Boxes

FMX je jiná knihovna, je tam jiná logika, funguje to jinak

Offline AlienStar

  • Mladík
  • **
  • Příspěvků: 87
  • Karma: 2
Re:Rozlišení aplikace
« Odpověď #17 kdy: 06-01-2016, 19:20:47 »
Excellent
Rated 1 time
Stejně pořád nechápu, proč si vytvořím Form s rozměry 720 x 1280 a celý se nevejde na displej mobilu, který toto rozlišení má ...
 
:-(


Offline raul

  • Plnoletý
  • ***
  • Příspěvků: 175
  • Karma: 10
    • Verze Delphi: FPC :D
Re:Rozlišení aplikace
« Odpověď #18 kdy: 06-01-2016, 19:22:36 »
Palec nahoru
Lazarus 1.6.3:), FPC, Intel/Arm, Windows/Linux

Offline < z >

  • Administrátoři
  • Guru
  • *****
  • Příspěvků: 1083
  • Karma: 38
    • Verze Delphi: 7, 2010
Re:Rozlišení aplikace
« Odpověď #19 kdy: 06-01-2016, 20:04:19 »
Stejně pořád nechápu, proč si vytvořím Form s rozměry 720 x 1280 a celý se nevejde na displej mobilu, který toto rozlišení má ...

Existují věci jako DPI, scale apod. ... já si s tím nehrál, ale zřejmě absolutní pozicování a nějaké interní zvětšování v tomto hraje roli.
Když už jsi nestudoval žádnou knihu, budeš muset jít cestou pokus-omyl, jak bylo zmíněno ;)

Offline Radek Červinka

  • Administrátoři
  • Padawan
  • *****
  • Příspěvků: 1765
  • Karma: 72
    • Verze Delphi: D5,D2007, DXE, DXE2 + 2 poslední (Tokyo)
    • O Delphi v češtině
Re:Rozlišení aplikace
« Odpověď #20 kdy: 07-01-2016, 08:07:49 »
Včera jsem se trochu více hrabal ve FMX v XE8. Upozorňuji, že mi nešlo o tvorbu aplikace pro mobil, ale jen posouzení, jak složité je v tom programovat a zda je to alternativa k VCL. Zajímala mne práce se základními vlastnostmi komponent pro GUI, pak jsem se díval, jak pokročila práce na Stringridu, MediaPlayeru,...Výsledek? Zlaté Borland Delphi7.

No to by mne zajimalo. Puvodne jsem se na to chtel vykaslat, ale opravdu mne namichnulo to s tim MediaPlayerem. Pokud bych mel neco rict, tak media jsou ve FMX o svetelne roky nekde jinde.
StringGrid jsem si ted zkusil a funguje - co s tim máš za problém - svěř se. Jinak StringGrid na mobilech neni to prave orechove, ne ze by nefungoval, ale uzivatele predpokladaji ListView, pripadne http://delphi.cz/post/XE7-MultiView.aspx. Případně http://delphi.cz/post/Nahodne-vykriky-52.aspx TksListview
Embarcadero MVP - Czech republic

Offline chaloup

  • Mladík
  • **
  • Příspěvků: 85
  • Karma: 9
    • Verze Delphi: Delphi 10.2
Re:Rozlišení aplikace
« Odpověď #21 kdy: 07-01-2016, 10:34:53 »
MediaPlayer z FMX je blbej, protože co vím, tak NEUMÍ přehrát zvuk ze streamu, umí jen ze souboru. Nikde jsem nenašel, jak ho přemluvit, aby přehrál zvuk ze streamu.
Něco jsem zkoušel a mám cca 5.000 zvuků, který jsem chtěl uložit do db a přehrávat to z paměti... nejde, resp. já nevím jak
kouknu do zdrojáku, jak to dělaj to přehrávání a vykuchám to do vlastní komponenty (až budu mít čas)

Offline našinec

  • Hrdina
  • ****
  • Příspěvků: 315
  • Karma: 4
Re:Rozlišení aplikace
« Odpověď #22 kdy: 07-01-2016, 12:43:44 »
Otázka:
Stejně pořád nechápu, proč si vytvořím Form s rozměry 720 x 1280 a celý se nevejde na displej mobilu, který toto rozlišení má ...
 
:-(



Možné odpovědi:

Citace
Citace: Radek Červinka  04-01-2016, 14:44:00


    ... já chápu FMX jako přímého nástupce VCL, s tím, že je základní princip stejný a je rozšířen (upraven) ...




Existují věci jako DPI, scale apod. ... já si s tím nehrál, ale zřejmě absolutní pozicování a nějaké interní zvětšování v tomto hraje roli.

Já osobně bych na Tvém místě zkusil zjistit, jaké rozlišení 'vidí' Delphi. Chci tím říci, zda ve FMX není náhodou stejný problém, jaký byl ve VCL.

Offline chaloup

  • Mladík
  • **
  • Příspěvků: 85
  • Karma: 9
    • Verze Delphi: Delphi 10.2
Re:Rozlišení aplikace
« Odpověď #23 kdy: 07-01-2016, 12:50:10 »
Teoreticky (jsem to nezkoušel) je možné dát na form TScaledLayout - tomu nastavit Align na client a naházet to tam x,y a při vykreslení by se to mělo nějak přepočítat.
Ale když originál návrh bude 4:3 a zobrazím to na 16:9, tak to bude zdeformovaný.

Offline našinec

  • Hrdina
  • ****
  • Příspěvků: 315
  • Karma: 4
Re:Rozlišení aplikace
« Odpověď #24 kdy: 07-01-2016, 12:59:02 »
Pro Radka: Co se týče MediaPlayeru. Zkusil jsem naprogramovat něco vlastního, díval do nápovědy, zkusil jsem dema a co se týče kodeků a jiného, je to stále stejné 'Urob si sam'.
Co se týče Stringridu, tak má představa je něco ve stylu StringAlignGrid či HyperGrid pro D7.
Když jsem chtěl text v buňkách zarovnávat do středu, musel jsem si udělat vlastní proceduru, když jsem chtěl uložit a načíst, musel jsem udělat vlastní proceduru, když jsem chtěl autosize, zase jsem musel udělat něco vlastního. Třeba to tam někde je dobře skryto pod nějakým názvem, který se mi nepodařilo najít. Nevím. Rozhodně nějakou nativnost jsem u toho celkem postrádal. Tak v čem je to tak zásadně lepší? Źe by v tom, že je tam přednastaveno 100 řádků?  ??? 100 řádků pro mobil?
« Poslední změna: 07-01-2016, 13:00:51 od našinec »

Offline AlienStar

  • Mladík
  • **
  • Příspěvků: 87
  • Karma: 2
Re:Rozlišení aplikace
« Odpověď #25 kdy: 07-01-2016, 23:04:32 »
Zkoušel jsem na mobilu s rozlišením 1280 x 720 zadat  screen.width a screen.height a ukázalo mi to 360 x 640 .

To je asi ten důvod proč se mi aplikace s rozlišením 1280 x 720 nevejde na displej.

Nevíte někdo, jak nastavím, aby se aplikace spustila v rozlišení 1280 x 720 ?
děkuji

Offline < z >

  • Administrátoři
  • Guru
  • *****
  • Příspěvků: 1083
  • Karma: 38
    • Verze Delphi: 7, 2010
Re:Rozlišení aplikace
« Odpověď #26 kdy: 08-01-2016, 09:22:26 »
Šak ti to vysvětluju celou dobu, že v tom hraje roli DPI a scale.
Nemůžeš natvrdo nastavit požadovanou velikost, protože taková není.
Android i iOS reálné hodnoty dopočítávají. FMX vykresluje podle netu ve 160ppi.

Google:
Kód: [Vybrat]
uses
  FMX.Helpers.Android, Androidapi.JNI.Util;
 
var
  Disp: JDisplayMetrics;
  NativeClientHeight: Single;
begin
  Disp := GetJDisplayMetrics;
  NativeClientHeight := ClientHeight * Disp.density; //<----use this

Canvas.SetMatrix(TMatrix.CreateScaling(1 / Canvas.Scale, 1 / Canvas.Scale) * Canvas.Matrix);

A přitom asi nemusíš do velikosti vůbec zasahovat
http://stackoverflow.com/questions/22009508/firemonkey-form-scaling-to-all-mobile-device
« Poslední změna: 08-01-2016, 09:24:31 od < z > »

Offline našinec

  • Hrdina
  • ****
  • Příspěvků: 315
  • Karma: 4
Re:Rozlišení aplikace
« Odpověď #27 kdy: 08-01-2016, 12:45:12 »
Kdyby to bylo ve VCL a windowsu, tak by to bylo jasné. Je tam nastavené 200% zvětšení pro text a další položky s manifestem pro winXP.  :)
Mám pocit, ale to by spíše věděl někdo, kdo se mobilnímu vývoji věnuje, že v loni došlo k nějákým změnám v manifestu pro android.

Offline našinec

  • Hrdina
  • ****
  • Příspěvků: 315
  • Karma: 4
Re:Rozlišení aplikace
« Odpověď #28 kdy: 08-01-2016, 14:10:16 »
Pro  AlienStar: Používáš někde 200% zvětšení písma, atd? Myslím tím, jak to, kde tvoříš, tak cílovou destinaci? Napadlo mne možné řešení.

Offline našinec

  • Hrdina
  • ****
  • Příspěvků: 315
  • Karma: 4
Re:Rozlišení aplikace
« Odpověď #29 kdy: 08-01-2016, 14:39:58 »
Raul,AlienStar: Nebudu čekat na půlnoc, až AlienStar něco sesmolí.  ;)
Když si uvědomíme, že Delphi používá XP manifest a až při kompilaci teprve přiřazuje správný manifest, tak řešení je nabíledni:Chyba není na výstupu, nýbrž na vstupu.

Offline AlienStar

  • Mladík
  • **
  • Příspěvků: 87
  • Karma: 2
Re:Rozlišení aplikace
« Odpověď #30 kdy: 08-01-2016, 14:50:45 »
Nene, nepoužívám zvětšení.

Já prostě nechápu jednu věc, asi jsem v tomhle trochu zabržděnej .-)
Když si založím projekt a v design zadám že Form má být 720x1280 tak nechápu proč se v této velikosti neukáže i v mobilu?
Jak pak mám v designu něco dělat, když si nemůžu nastavit okno jaké potřebuji, protože se na displej nevejde ?
Když na form dám obrázek, který má rozlišení 300 x 300 bodů , tak je skoro přes celou šířku okna. přesně tak jak ho mám v designu.

Nechcete někdo zkusit udělat prázný projekt , na kterým bude jen obrázek v rozlišení třeba 700x700 , což znamená že by byl skoro přes celou šířku obrazovky a to samé by bylo vidět i v návrhu (designu).

děkuji

PS:

když zadám toto, hodnoty mi to ukáže 720x1230 , což je reálný rozlišení displeje.
Kód: [Vybrat]
begin
 Disp := GetJDisplayMetrics;
  NativeClientWidth := ClientWidth * Disp.density;
  NativeClientHeight := ClientHeight * Disp.density;
  Label5.Text := 'Width: ' + FloatToStr(NativeClientWidth);
  Label6.Text := 'Height: ' + FloatToStr(NativeClientHeight);
end;


Toto mi ale ukazuje realitu:
Kód: [Vybrat]
showmessage(IntToStr(screen.width) + ' ' + IntToStr(screen.height));

Offline AlienStar

  • Mladík
  • **
  • Příspěvků: 87
  • Karma: 2
Re:Rozlišení aplikace
« Odpověď #31 kdy: 08-01-2016, 15:09:53 »
příklad:

Mám v designu udělán takto Form ( 720 x 1280 )



V mobilu je vidět obrázek správně, ale tlačítka Button1 OK , Button2 OK, Button3 je vidět už jen Bu

Nedokážu pochopit, jak mám dělat aplikaci, když v designu je to takhle a ve skutečnosti jinak.

Dokáže mi někdo přesně poradit, co jsem udělal u tlačítek špatně že se ukazují na špatném místě?

děkuji
Milan

Offline Radek Červinka

  • Administrátoři
  • Padawan
  • *****
  • Příspěvků: 1765
  • Karma: 72
    • Verze Delphi: D5,D2007, DXE, DXE2 + 2 poslední (Tokyo)
    • O Delphi v češtině
Re:Rozlišení aplikace
« Odpověď #32 kdy: 08-01-2016, 15:12:30 »
Zkoušel jsem na mobilu s rozlišením 1280 x 720 zadat  screen.width a screen.height a ukázalo mi to 360 x 640 .

To je asi ten důvod proč se mi aplikace s rozlišením 1280 x 720 nevejde na displej.

Nevíte někdo, jak nastavím, aby se aplikace spustila v rozlišení 1280 x 720 ?
děkuji

Zkus se podivat na Form.FormFactor a nastavit rozliseni tam
Embarcadero MVP - Czech republic

Offline AlienStar

  • Mladík
  • **
  • Příspěvků: 87
  • Karma: 2
Re:Rozlišení aplikace
« Odpověď #33 kdy: 08-01-2016, 15:19:03 »
Form.FormFactor mám nastavený taky na 720 x 1280

už fakt nevím co dělám špatně


můj projekt zde : http://data.zaru.cz/projekt.zip

Offline chaloup

  • Mladík
  • **
  • Příspěvků: 85
  • Karma: 9
    • Verze Delphi: Delphi 10.2
Re:Rozlišení aplikace
« Odpověď #34 kdy: 08-01-2016, 15:21:12 »
už fakt nevím co dělám špatně

Přečti si ještě jednou co jsem napsal ... přestaň používat X,Y
Použij TGridLayout...
Tohle o co se tady snažíš bude možná fungovat na jednom zařízení, kterýmu to ušiješ na míru, ale když to pustíš někde jinde, tak se ti to UI zase rozpadne.
Podívej se do dokumentace k Androidu co píšou o UI, dpi, rozlišení
http://developer.android.com/guide/practices/screens_support.html
jedna sekce se tam jmenuje : Do not use AbsoluteLayout

Offline AlienStar

  • Mladík
  • **
  • Příspěvků: 87
  • Karma: 2
Re:Rozlišení aplikace
« Odpověď #35 kdy: 08-01-2016, 15:24:56 »
Já teď spíš řeším abych to ušil na míru jen pro můj telefot s jasným rozlišením.

Trochu chápu použití Layoutů kde by se mi vše vykreslovalo lépe s přihlédnutím na různé rozlišení displejů.

Mě jde o to, že rozlišení mobilu je 720 x 1280 a samé rozlišení má můj Form , tak nechápu proč jsou tlačítka jinde oproti návrhu ?

Offline AlienStar

  • Mladík
  • **
  • Příspěvků: 87
  • Karma: 2
Re:Rozlišení aplikace
« Odpověď #36 kdy: 08-01-2016, 15:33:55 »
Další příklad:

Dám tlačítko do spodní části Form a taky není vidět.
V podstatě tam můžu umístit cokoliv a vidět to nebude, protože je to mimo obrazovku ...


Offline našinec

  • Hrdina
  • ****
  • Příspěvků: 315
  • Karma: 4
Re:Rozlišení aplikace
« Odpověď #37 kdy: 08-01-2016, 15:44:36 »
Já opravdu pracuji jen ve VCL, takže si to nemohu a ani netoužím nějakým způsoběm to odzkoušet. Zkusil bych použít , pokud by Ti nevadilo 2x zvětšení(dle Tvých údajů), např. něco ve stylu Form.ClentHeight:=Screen(monitor,disppley,....).height;....
« Poslední změna: 08-01-2016, 15:59:04 od našinec »

Offline AlienStar

  • Mladík
  • **
  • Příspěvků: 87
  • Karma: 2
Re:Rozlišení aplikace
« Odpověď #38 kdy: 08-01-2016, 15:45:36 »
další zkouška s TGridLayout



Výsledek byl ten, že se mi tlačítka seředili pod sebe, 5 tlačítek, pod ně dalších 5 a pak ve třetí řadě 1 .

Potřebuji nutně aby šířka byla těch 720 bodů místo 360 s kterýma aplikace pracuje :-((

Offline chaloup

  • Mladík
  • **
  • Příspěvků: 85
  • Karma: 9
    • Verze Delphi: Delphi 10.2
Re:Rozlišení aplikace
« Odpověď #39 kdy: 08-01-2016, 15:55:12 »
FMX se stará o to aby když při návrhu uděláš Label s velikosti fontu 12 aby se to na 5" telefonu který má jednou rozlišení 1280x720 potom třeba 1980x1080 nebo třeba 2560x1536 vždycky zobrazilo nějak podobně.

Když uděláš návrh přes layout(y) a fyzicky to bude nakreslený jako 800x600 tak to můžeš pustit na mobilu, kterej má 2560x1536 a bude to fungovat

Na iOS kde můžeš mít Retina obrazovku a normální (iPady 2, iPad mini) by s tvou logikou by uživatelé kteří spustí na retina iPadu aplikaci pro iPad 2 měli aplikaci v malém čtverečku obrazovky... prostě to FMX nějak přepočítá
Vždycky máš obrazovku 4:3, která má stejný rozměr, ale jednou je to:
iPad 2 =1024x768 display s 163 ppi
iPad s retinou = 2048x1536 display s 326 ppi

Offline našinec

  • Hrdina
  • ****
  • Příspěvků: 315
  • Karma: 4
Re:Rozlišení aplikace
« Odpověď #40 kdy: 08-01-2016, 17:06:08 »
Když jsem se hrabal ve FMX, tak mi přišlo na mysl, že zde si někdo dělá živnou půdu pro placený konvertor FMX ◄► VCL.  :) Ale pro AlienStar: Pokud Tvé problémy s appkou přetrvávají, tak zkus sem hodit psr nebo mi to pošli. Pro dnešek však s PC končím. Takže všem přeji :Příjemný víkend.  :D

Offline chaloup

  • Mladík
  • **
  • Příspěvků: 85
  • Karma: 9
    • Verze Delphi: Delphi 10.2
Re:Rozlišení aplikace
« Odpověď #41 kdy: 08-01-2016, 17:41:55 »
@AlienStar

A jak vlastně chceš aby ta obrazovka měla být?
Nahoře jedna bitmapa a pod ní 5 tlačítek?

Offline AlienStar

  • Mladík
  • **
  • Příspěvků: 87
  • Karma: 2
Re:Rozlišení aplikace
« Odpověď #42 kdy: 08-01-2016, 17:59:21 »
já jen chci, abych měl form 720x1280  a v návrhu když dám 10 tlačítek vedle sebe, abych to samé viděl na displeji .

jak tohle udělám ?

Offline chaloup

  • Mladík
  • **
  • Příspěvků: 85
  • Karma: 9
    • Verze Delphi: Delphi 10.2
Re:Rozlišení aplikace
« Odpověď #43 kdy: 08-01-2016, 19:47:43 »

Offline AlienStar

  • Mladík
  • **
  • Příspěvků: 87
  • Karma: 2
Re:Rozlišení aplikace
« Odpověď #44 kdy: 11-01-2016, 22:05:17 »
Děkuji za příklad.
Myslel jsem spíš bez použití layoutů.

Asi se bez použití layoutů neobejdu ....   škoda no.

Každopádně všem děkuji za pomoc

 

S rychlou odpovědí můžete používat BB kódy a emotikony jako v běžném okně pro odpověď, ale daleko rychleji.

Upozornění: do tohoto tématu bylo naposledy přispěno před 120 dny.
Zvažte prosím založení nového tématu.

Jméno: E-mail:
Ověření:
Křestní jméno zpěváka Gotta: