2015-05-29 5 views
10

Jestem nowy z Xamarin i mam problemy z pierwszą aplikacją. Mam obraz z widokiem pozycji powyżej. W ten sposób utworzę niestandardowe tło wpisu.Rozmiar czcionki zależny od rozdzielczości w Xamarin

Rozmiar czcionki pozycji nie będzie skalowany przy różnych urządzeniach o różnych rozdzielczościach. Kiedy dostosowuję rozmiar czcionki dla urządzenia A, a teraz sprawdzam tę samą aplikację na urządzeniu B, rozmiar czcionki jest zbyt duży.

ja również próbował ustawić rozmiar czcionki dynamicznie w kodzie Androida jak opisano tutaj: http://developer.xamarin.com/recipes/android/resources/device_specific/detect_screen_size/

Ale to wciąż nie daje wynik chcę. Nie ma też definicji procentowej jak w RelativeLayout.

Chcę tylko, aby rozmiar czcionki pozostał taki sam w stosunku do rozmiaru ekranu, aby pozycja zawsze znajdowała się w granicach obrazu tła.

Mam nadzieję, że każdy może mi w tym pomóc lub dać mi wskazówkę dotyczącą obejścia problemu.

Odpowiedz

3

Zakładam, że korzystasz z Xamarin.Android, a nie z Xamarin Forms - nie powinieneś potrzebować dynamicznej zmiany rozmiaru czcionki w kodzie. Zamiast tego określ fontSize w stylu lub w samej kontrolce i użyj "sp" zamiast px lub dp (Na przykład android: fontSize = '16sp'.

Stosowanie "sp" (skalowanych pikseli) będzie odpowiednio skalować w zależności od na urządzeniu użytkownika dpi (możesz zobaczyć bardziej szczegółowe wyjaśnienie: here.

+0

Nie, używam Xamarin.Forms z niestandardowymi renderers.) Naprawdę pomogła twoja wskazówka za pomocą "sp" .Dziękuję.Faktura jest teraz o tym samym rozmiarze na małe i duże ekrany. Czy wiesz jak to osiągnąć, że czcionka jest mniejsza na małych urządzeniach i większa na dużych urządzeniach? – telandor

+0

@telandor Nie ma za co! Cieszę się, że pomógł - jeśli chcesz zmieniać rozmiar w zależności od wielkości urządzenia, będzie musiał ustawić rozmiar tekstu dynamicznie w zależności od wielkości urządzenia (przykład pobierania rozmiaru urządzenia o btained tutaj http://stackoverflow.com/questions/19155559/how-to-get-android-device-screen-size). Wciąż używałbym sp, aby obliczyć różne ekrany gęstości pikseli, ale wystarczy zmienić liczbę w zależności od fizycznego rozmiaru, który otrzymasz. – codechinchilla

+2

W jaki sposób "sp" pomógł ci z Xamarin.Forms? Czy możesz wyjaśnić, w jaki sposób skończyłeś robić to, co chcesz? –