不同版本的相同Xamarin.Forms应用程序

时间:2015-09-03 22:59:45

标签: xamarin xamarin.forms

我正在将移动应用程序(本机iOS,原生Android)移植到Xamarin.Forms,以便尽可能多地共享代码,包括非常简单的UI。

我的应用实际上是每个客户的模板。每个客户都有自己的自定义应用程序,运行相同的代码,只有颜色/图像会改变。 要在iOS上实现这一点,我只需创建一个新目标并将相应的资源(颜色代码文件和图像)关联到它。

我如何使用Xamarin自定义我的应用程序?我刚刚开始学习xamarin,但在这个主题上找不到任何东西。没有表格会更容易吗?

- 编辑

我意识到解决我的问题有2个部分。我现在知道如何使用app资源来组织文件,这要归功于以下链接: https://developer.xamarin.com/guides/ios/application_fundamentals/working_with_resources/ 这是第一部分。

但我仍然想知道在不更改代码的情况下访问资源的最佳方法是什么。例如,在iOS中,每个目标都可以使用路径中的包名称从适当的位置检索资源。是否有相当于添加目标的程序?

2 个答案:

答案 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部分。