Xamarin Android - 从 Dimension 文件设置 TextSize

Dil*_*ave 3 android xamarin.android

我有一个 Xamarin Android 项目,我使用尺寸文件为不同的屏幕尺寸/分辨率指定文本大小、填充、边距等。

我注意到直接在布局内和在代码内设置值之间存在显着差异。

例如,如果我将以下内容添加到 TextView 布局 XML

android:textSize="@dimen/nav_tile_text_size"

那么我希望结果与在代码中执行此操作相同

myTextView.SetTextSize(ComplexUnitType.Sp, _context.Resources.GetDimension(Resource.Dimension.nav_tile_text_size))

维度文件包含以下内容:

<dimen name="nav_tile_text_size">17sp</dimen>

但生成的 UI 显示未正确应用大小

模拟器截图

我在这里错过了什么?

Lib*_*eph 5

那是正确的。你需要要么使用

myTextView.SetTextSize(Android.Util.ComplexUnitType.Sp, Resources.GetDimension(Resource.Dimension.nav_title_text_size)/Resources.DisplayMetrics.Density);
Run Code Online (Sandbox Code Playgroud)

单位,否则乘以手机的密度。我亲自检查了这段代码,它有效