2015-05-29 49 views
10

我是Xamarin的新手,並且在第一個應用程序中掙扎。我有一張圖片,上面有一個輸入視圖。這樣我創建一個自定義條目背景。Xamarin中分辨率相關的字體大小

雖然條目的字體大小不會隨着具有不同分辨率的不同設備而擴展。當我調整設備A的字體大小並且現在檢查設備B上的相同應用時,字體大小有太大的變化。

我也試圖在Android代碼中動態設置字體大小如下所述: http://developer.xamarin.com/recipes/android/resources/device_specific/detect_screen_size/

但是,這仍然沒有給我想要的結果。在RelativeLayout中也沒有百分比定義。

我只想讓我的字體大小保持與屏幕大小相同,因此條目始終位於背景圖像邊框內。

我希望任何人都可以幫我解決這個問題,或者給我一個解決方法提示。

回答

3

我假設你使用的是Xamarin.Android而不是Xamarin Forms - 你不需要在代碼中動態地改變字體大小。而是在樣式或控件本身中指定fontSize,並使用'sp'而不是px或dp(例如android:fontSize ='16sp'。

使用'sp'(縮放像素)在用戶的設備上dpi(你可以看到更深入的解釋here

+0

不,我使用Xamarin.Forms與自定義渲染器。你的提示使用「sp」真的幫助。謝謝。字體現在大約相同的大小小屏幕和大屏幕您是否知道如何實現小設備上的字體更小以及大設備上的字體更小? – telandor

+0

@telandor不客氣!很高興幫助 - 如果您想根據設備大小選擇不同的尺寸,將不得不根據設備大小動態設置文本大小(例如獲取設備大小o btained here http://stackoverflow.com/questions/19155559/how-to-get-android-device-screen-size)。爲了說明不同的像素密度屏幕,我仍然使用sp,但只是根據返回的物理尺寸改變數量。 – codechinchilla

+2

'sp'如何幫助Xamarin.Forms?你能解釋一下你是如何得到這個來做你想要的嗎? –