我在谷歌开发者的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给了我重复的方法错误。
答案 0 :(得分: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();
}