【问题标题】:Xamarin.Android type swizzlingXamarin.Android 类型混搭
【发布时间】:2015-01-16 14:40:53
【问题描述】:

是否有人能够让 Xamarin.Forms 在 11 之前的 API 级别上工作? ValueAnimator 不存在,虽然这是由 Xamarin.NineOldAndroids 提供的,但 Xamarin 实现不引用该命名空间。

有没有办法使用TypeForwardedToAttributeClassLoader 覆盖等来修改它而无需重新编译表单或 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


【解决方案1】:

Xamarin.Forms 支持 Android 4.0(API 14) 或更高版本,Check it out

【讨论】:

  • 谢谢。我知道 Xamarin 将其称为 API 14 及更高版本,但是如果所有引用的类都使用 Android 支持库或其他方式实现,它在技术上能够工作。这就是我正在探索的这个问题。
  • 我曾经使用github.com/nhaarman/ListViewAnimationsjava绑定项目做过ListView动画,你可以通过依赖服务来实现。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-11-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多