android - 如何避免不推荐使用的方法并保持向后兼容性?

标签 android backwards-compatibility android-support-library

<分区>

Possible Duplicate:
How to deal with deprecated classes in Android to keep compatibility

我遇到了已弃用的 Display.getWidth() 方法,发现它已被替换为 android.view.getSize()。但是 getSize() 仅在 API 13 之后可用,View 似乎未包含在 V4 Android 支持库中。

因此,如果我想避免已弃用的调用,我该如何在不为各种 API 级别维护不同的项目/构建的情况下做到这一点。

最佳答案

给定一个名为 displayDisplay 对象,这应该可行:

int width=-1;

if (Build.VERSION.SDK_INT>=Build.VERSION_CODES.HONEYCOMB_MR2) {
    Point size=new Point();
    size=display.getSize(size);
    width=size.x;
}
else {
    width=display.getWidth();
}

IOW,使用 Build.VERSION.SDK_INT 在引入新 API 的“之前”和“之后”情况之间进行分支。

这将需要您的构建目标(Eclipse 中的项目 > 属性 > Android)设置为 API 级别 13+,以便您可以调用 getSize()

关于android - 如何避免不推荐使用的方法并保持向后兼容性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12352397/

相关文章:

Android – 监听传入的 SMS 消息

java - 一旦计时器用完,如何使用 Intent 将字符串传递给主要 Activity ?

android - 资源属性/? Android Studio更新后找不到

objective-c - 10.5 基础 SDK,10.4 部署 : how to implement missing methods

java - 为什么Java声称1.5版本需要向后兼容?

iphone - 在不同的 iOS SDK 下编译一个 iphone 应用程序

android - 对话框 fragment : How to fix button position on Support Library 23. 2.0

java - 由于某种原因数据没有存储在 SQLite 数据库中?错误

java - ViewPager - 错误

android - NestedScrollView 滚动滞后,直到 CollapsingToolbarLayout View 不折叠