1

我在我的应用程序中使用 DragShadowBuilder。http://developer.android.com/reference/android/view/View.DragShadowBuilder.html

在 AndroidManifest 中,我将支持的最低 API 级别设置为 8。但是,API 11 引入了 DragShadowBuilder。当某些内容低于最低 API 级别时,Eclipse 通常会警告我,但使用 DragShadowBuilder 似乎很好。我是否应该包含一些支持库或类似的东西以确保代码在旧版本的 Android 上运行?

4

3 回答 3

2

不,您的代码可能无法在旧版本的 Android 中运行。如果您想在旧版本中实现拖动功能,您可能想使用 AbsoluteLayout 编写自己的拖动逻辑。希望能帮助到你

于 2012-07-27T02:55:15.780 回答
1

我只是查看了库中已发布的内容,但没有看到任何关于 DragShadowBuilder 的内容。您可以在http://developer.android.com/tools/extras/support-library.html查看其中的内容

我还查看了一些源代码,但没有看到任何关于它的内容。如何在 Eclipse 中附加 Android 支持库源?

如果没有向后支持,那么您基本上只能靠自己。您还可以查看 DragShadowBuilder 的源代码并尝试在您的应用程序中重新创建它。

于 2012-07-27T03:06:43.597 回答
1

我相信这是 Eclipse 的一个错误。我建议您只需将支持的最低 API 级别设置为 11。AFAIK,您始终可以先创建它以支持 API 11,然后尝试使用新项目并添加所需的库来重新创建它。

我已经尝试过了,如果您要创建一个新项目,将其设置为较低的 API,导入类似“拖放”的库,然后尝试为其编写代码,您很可能会收到一条错误消息将不起作用和/或为 API 11 设置了拖放功能。如果您之后清理项目,错误可能会“消失”消失,但一旦您尝试运行应用程序,它会重新出现并说它无法运行并出现错误。

即使您将库嵌入了代码,这也很奇怪。如果机器无法区分您尝试调用的“DragEvent”,也许您可​​以尝试重命名类等。

于 2012-07-27T03:07:30.727 回答