2015-05-29 46 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?你能解释一下你是如何得到这个来做你想要的吗? –