2017-01-10 54 views
8

Na poniższym zdjęciu sprawdziłem ten sam składnik tekstowy, który był wyświetlany na Androidzie po lewej stronie, a iOS po prawej. Wygląda na to, że iOS renderuje czcionkę na wierzchu kontenera tekstowego.React Native: niestandardowa czcionka renderuje się inaczej na urządzeniach z Androidem i iOS

Używam tego samego pliku czcionek TTF dla Androida i iOS. (Znalazłem internetowy odnośnik do czcionki, której używam: here.)

Jakieś pomysły, jak sprawić, aby czcionka była taka sama dla Androida i iOS?

enter image description here

Wystarczy być jasne, różnica nie jest spowodowana przez jakikolwiek stylizacji (marginesu, rozmiar czcionki, itp). To jest dokładnie to samo.

Odpowiedz

5

Znalazłem poprawkę, ale to nie jest w porządku. Myślę, że powinieneś znaleźć inną czcionkę, która renderuje to samo na każdym urządzeniu.

Możesz poeksperymentować z lineHeight, padding i margin aby uzyskać ten sam wyrównanie w pionie dla elementów tekstowych:

Ios:

instructions: { 
    fontFamily: 'Metric-Regular', 
    fontSize: 50, 
    lineHeight: 50, 
    paddingTop: 25, 
    marginBottom: -35, 
    marginTop: 35 
    } 

enter image description here

+1

Dzięki, to naprawdę pomogło mi znaleźć rozwiązanie !! Ponieważ muszę obsługiwać wieloliniowe teksty, nie mogę ustawić wysokości, tak jak ty. Wydaje się jednak działać, gdy dodaję dopełnienie u góry i ujemny margines u dołu komponentu Tekst, obie wartości odnoszą się do rozmiaru czcionki. – henkimon

+0

@henkimon Dzięki, cieszę się, że pomogłem. Jak widać, poprawiłem swoją odpowiedź na podstawie Twojego komentarza. Gdybyś mógł to zaakceptować, oznaczałoby to dla mnie cały świat. – AlexB