如何在android中创建共享视图

问题描述:

我在一个应用程序中创建了一个视图。我想在另一个应用程序中使用相同的视图。有没有办法将第二个应用上下文作为参数传递给视图。这样视图就创建了第二个应用程序的上下文。如何在android中创建共享视图

或者是否有任何方法来创建视图库,以便许多应用程序使用该视图库来创建视图。

罗恩

+0

如同样的布局? – 2012-01-13 16:21:42

您可以创建一个类,并调用它CustomView至极延伸View和自定义视图。然后,你可以在两个应用程序中使用它。

但是,既然您已经创建了您的视图,我的建议是将代码复制粘贴到您的新应用程序中,除非您打算在将来的应用程序中使用相同的视图。

+1

感谢您的回复,我用这种方法来复制代码。我能想到的一个小改进就是拥有一个包含所有必需视图的库项目,并在需要的应用程序中引用该库项目。 – Ron 2012-01-17 08:08:49

+0

不客气。如果您有多个相互关联的视图,那么您的改进非常有用。这将支持图书馆的便携性,这就是图书馆诞生的原因:) – iTurki 2012-01-17 22:13:46

我建议你按照iturki的方法或只是将相同的布局复制到每个应用程序的XML布局文件..我不认为这是困难的。它实际上更容易。

在Android源代码构建系统中,您通常可以创建一个jar并将该jar导出到多个应用程序以共享通用功能。从未尝试过独立完成。你可以检查姜饼电话应用程序。 Phone应用程序和Contacts应用程序共享一些功能。虽然这些不共享视图,理想情况下,你可以采取这个想法,并实施视图

我看到两种方法来解释你的问题。 1)你有一个自定义的视图(就像一个自定义控件)并且想分享它。较早的答案解决了这个问题的解释 - 如何分享实现View的代码。

另一种解释是您希望应用程序“A”调出由应用程序“B”定义的屏幕。那就是你不仅需要视图,而且需要视图背后的行为。

对于这个用途,我会建议分享Activities或Fragments而不是Views。您可以通过发送适当的意图使应用程序A使用应用程序B的活动(如果应用程序B愿意)。