【发布时间】:2015-01-16 14:40:53
【问题描述】:
是否有人能够让 Xamarin.Forms 在 11 之前的 API 级别上工作? ValueAnimator 不存在,虽然这是由 Xamarin.NineOldAndroids 提供的,但 Xamarin 实现不引用该命名空间。
有没有办法使用TypeForwardedToAttribute、ClassLoader 覆盖等来修改它而无需重新编译表单或 NOA?或者可能将 using 指令注入 Xamarin 程序集,或者在不重新编译的情况下更改 NOA 的命名空间映射。我认为这些都不可能,但我想我会问。
我试图更改java.system.class.loader,但它似乎没有被使用,一切似乎都通过JNIEnv.FindClass 可能直接使用PathClassLoader?我不太确定。
【问题讨论】:
-
我看不出有任何理由支持 pre-API 14。无论如何,我认为不可能将 NineOldAndroids 键入不使用该库的东西。我很确定你在使用地图时也会碰壁。 MvvmCross 是一个不错的替代方案,尽管除了拥有一个不错的绑定引擎之外与 UI 没有太多相关性。你可以使用它的 CrossUI,它是建立在 MonoTouch.Dialog 的思想之上的。但是,您将无法在 PCL 中定义 UI。
-
我想要支持 pre 14 的原因是我们的用户群中有很大一部分位于发展中国家,并且拥有仍然运行 API 10 甚至 8 的非常便宜的设备。
-
然后放弃使用 Xamarin.Forms 的想法。
-
直到我完成了尽职调查。
-
考虑添加 C# 标签。不管怎样,祝你好运,希望你能找到有用的东西:)
标签: c# xamarin.android classloader xamarin.forms nineoldandroids