我正在将移动应用程序(本机iOS,原生Android)移植到Xamarin.Forms,以便尽可能多地共享代码,包括非常简单的UI。
我的应用实际上是每个客户的模板。每个客户都有自己的自定义应用程序,运行相同的代码,只有颜色/图像会改变。 要在iOS上实现这一点,我只需创建一个新目标并将相应的资源(颜色代码文件和图像)关联到它。
我如何使用Xamarin自定义我的应用程序?我刚刚开始学习xamarin,但在这个主题上找不到任何东西。没有表格会更容易吗?
- 编辑
我意识到解决我的问题有2个部分。我现在知道如何使用app资源来组织文件,这要归功于以下链接: https://developer.xamarin.com/guides/ios/application_fundamentals/working_with_resources/ 这是第一部分。
但我仍然想知道在不更改代码的情况下访问资源的最佳方法是什么。例如,在iOS中,每个目标都可以使用路径中的包名称从适当的位置检索资源。是否有相当于添加目标的程序?
答案 0 :(得分:1)
<强>本地强>
Xamarin.Forms引擎盖下只是一个Xamarin.Android / Xamarin.iOS应用程序。在初始化Xamarin.Forms(主题,颜色等)之前,您可以使用MainActivity类(Android)或AppDelegate类(iOS)对其进行自定义。您可以为应用定义自定义主题,与原生Android相同,并设置与原生iOS相同的UI重音颜色。
<强>资源强>
Xamarin.Fonts中的资源与本机iOS / Android资源相同。所以它的方法也是一样的。 https://developer.xamarin.com/guides/cross-platform/xamarin-forms/working-with/images/
<强>样式强>
使用主题颜色样式可能对您有用: https://developer.xamarin.com/guides/cross-platform/xamarin-forms/working-with/styles/
答案 1 :(得分:0)
您可以在Xamarin.Forms中拥有应用范围的资源。以下是App.xaml文件中的外观示例:
<Application
xmlns="http://xamarin.com/schemas/2014/forms"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
x:Class="WorkingWithAppResources.App">
<Application.Resources>
<ResourceDictionary>
<Style x:Key="labelStyle" TargetType="Label">
<Setter Property="TextColor" Value="Green" />
</Style>
</ResourceDictionary>
</Application.Resources>
</Application>
查看Xamarin.Forms的Working With Styles文档。具体来说,是application-wide resources部分。