• 19.07.2018
  • 3 minute de citit

In acest articol

Descarcati esantionul

Nota

Aceasta carte a fost publicata in primavara anului 2016 si nu a mai fost actualizata de atunci. In carte exista multe lucruri care raman valoroase, dar o parte din material este depasita, iar unele subiecte nu mai sunt pe deplin corecte sau complete.

Mai multe dimensiuni in Xamarin. Forme au fost intalnite pana acum:

  • Inaltimea barei de stare iOS este de 20
  • BoxView are latimea si inaltimea implicite de 40
  • Imprimarea implicita intr-un cadru este 20
  • Spatiul implicit pe StackLayout este 6
  • Metoda Device.GetNamedSize returneaza o dimensiune numerica a fontului

Aceste dimensiuni nu sunt pixeli. In schimb, acestea sunt unitati independente de dispozitiv recunoscute independent de fiecare platforma.

Pixeli, puncte, dps, DIP-uri si DIU-uri

La inceputul istoriei Apple Mac si Microsoft Windows, programatorii lucrau in unitati de pixeli. Cu toate acestea, aparitia afisajelor cu rezolutie mai mare a necesitat o abordare mai virtualizata si abstracta a coordonatelor ecranului. In lumea Mac, programatorii lucrau in unitati de puncte , in mod traditional 1/72 inch, in timp ce dezvoltatorii Windows foloseau unitati independente de dispozitiv (DIU) bazate pe 1/96 inch.

Cu toate acestea, dispozitivele mobile sunt tinute mult mai aproape de fata si au o rezolutie mai mare decat ecranele desktop, ceea ce implica faptul ca o densitate de pixeli mai mare poate fi tolerata.

Programatorii care vizeaza dispozitivele Apple iPhone si iPad continua sa lucreze in unitati de puncte , dar exista 160 dintre aceste puncte pana la inch. In functie de dispozitiv, pot exista 1, 2 sau 3 pixeli pana la punctul respectiv.

Android este similar. Programatorii lucreaza in unitati de pixeli independenti de densitate (dps), iar relatia dintre dps si pixeli se bazeaza pe 160 dps la inch.

Telefoanele Windows si dispozitivele mobile au stabilit, de asemenea, factori de scalare care implica ceva apropiat de 160 de unitati independente de dispozitiv de la inch.

Nota

Xamarin.Forms nu mai accepta niciun telefon sau dispozitiv mobil bazat pe Windows.

Pe scurt, un programator Xamarin.Forms care vizeaza telefoane si tablete poate presupune ca toate unitatile de masura se bazeaza pe urmatorul criteriu:

  • 160 de unitati la inch, echivalent cu
  • 64 de unitati la centimetru

Proprietatile de latime si inaltime numai in citire definite de VisualElement au valori implicite „simulate” de –1. Numai atunci cand un element a fost dimensionat si acomodat in aspect, aceste proprietati vor reflecta dimensiunea reala a elementului in unitati independente de dispozitiv. Aceasta dimensiune include orice set de umplutura pe element, dar nu si marja.

Un element vizual declanseaza evenimentul SizeChanged atunci cand latimea sau inaltimea sa s-au modificat. WhatSize Proba utilizeaza acest eveniment pentru a afisa dimensiunea ecranului programului.

Dimensiuni metrice

MetricalBoxView foloseste WidthRequest si HeightRequest pentru a afisa un BoxView un inch inaltime si un centimetru latime.

Dimensiuni estimate ale fontului

Cele FontSizes arata exemple de cum se utilizeaza regula de 160 de unitati-to-the-inch pentru a specifica dimensiunile fontului in unitati de puncte. Consistenta vizuala dintre platformele care utilizeaza aceasta tehnica este mai buna decat Device.GetNamedSize.

Adaptarea textului la dimensiunea disponibila

Este posibil sa se incadreze un bloc de text intr-un anumit dreptunghi, calculand un FontSize al etichetei utilizand urmatoarele criterii:

  • Distanta dintre linii este de 120% din dimensiunea fontului (130% pe platformele Windows).
  • Latimea medie a caracterelor este de 50% din dimensiunea fontului.

EstimatedFontSize Proba demonstreaza aceasta tehnica. Acest program a fost scris inainte ca proprietatea Margin sa fie disponibila, deci foloseste un ContentView cu o setare Padding pentru a simula o marja.

Un ceas potrivit pentru marime

FitToSizeClock Proba demonstreaza folosind Device.StartTimer pentru a incepe un cronometru care notifica periodic aplicarea atunci cand timp este de a actualiza ceasul. Dimensiunea fontului este setata la o sesime din latimea paginii pentru a face afisajul cat mai mare posibil.

Probleme de accesibilitate

Programul EstimatedFontSize si programul FitToSizeClock contin ambele un defect subtil: daca utilizatorul modifica setarile de accesibilitate ale telefonului pe Android sau Windows 10 Mobile, programul nu mai poate estima cat de mare este redat textul pe baza dimensiunii fontului. AccessibilityTest Proba demonstreaza aceasta problema.

Text adecvat empiric

O alta modalitate de a incadra textul intr-un dreptunghi este de a calcula empiric dimensiunea textului redat si de a o ajusta in sus sau in jos. Programul din carte apeleaza GetSizeRequest pe un element vizual pentru a obtine dimensiunea dorita a elementului. Aceasta metoda a fost depreciata, iar programele ar trebui sa apeleze la masura.

Pentru o eticheta, primul argument ar trebui sa fie latimea containerului (pentru a permite impachetarea), in timp ce al doilea argument ar trebui sa fie setat la Double.PositiveInfinity pentru a face inaltimea necontrolata. EmpiricalFontSize Proba demonstreaza aceasta tehnica.

Link-uri conexe

  • Capitolul 5 text integral (PDF)
  • Capitolul 5 mostre
  • Capitolul 5 F # mostre

la centoxcento robertagemma
morena taxi milano robertagemma porno
mignotte xxx robertagemma video
amatoriale italiano ragazza robertagemmafilm
pure porn robertagemmavideo
gruppo xxx robeta gemma
francesca nencetti pornostar robetta gemma
casting italian porno robrta gemma
academy rocco siffredi roby cento per cento
malena succhia roby centoxcento
malena la pugliese porno video rocco academy
milena la pugliese porno rocco academy porn
porno cento per cento italiano rocco academy porno
filmati centoxcento rocco academy streaming
cento per cento porn video rocco academy video
alessia di pistoia rocco accademy
christie dom rocco accademy porn
mi piace il culo rocco con malena
malena la pugliese sborra rocco e la pugliese
cento x cento in streaming rocco e malena