4

我在 google 开发人员的 android 视频中看到他们实现了两种方法,并通过注释定义了应该根据 api 级别调用的方法。

不幸的是,我再也找不到视频了(我不记得是哪个视频了),所以我在 StackOverflow 上搜索了这个问题,发现了这个:Different Java methods for different API Levels

在问题中,他使用了注释@apilevel,我找不到该注释。

基本上,我想做的是:

@TargetApi(Build.VERSION_CODES.HONEYCOMB_MR2)
private int getDisplayWidth(Display display){
    Point size = new Point();
    display.getSize(size);
    return size.x;
}

@TargetApi(Build.VERSION_CODES.FROYO)
private int getDisplayWidth(Display display){
    return display.getWidth();
}

但是 ADT 给了我重复的方法错误。

4

1 回答 1

6

利用:

@TargetApi(Build.VERSION_CODES.HONEYCOMB_MR2)
private int getDisplayWidth(Display display){
    if (Build.VERSION.SDK_INT>=Build.VERSION_CODES.HONEYCOMB_MR2) {
      Point size = new Point();
      display.getSize(size);
      return size.x;
    }

    return display.getWidth();
}
于 2013-09-22T22:37:01.193 回答