我尝试创建一种方法,该方法返回的屏幕方向依赖项
设备是手持设备还是平板电脑。
public int getScreenOrientation(boolean isTablet){
if(isTablet){
return ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE;
} else {
return ActivityInfo.SCREEN_ORIENTATION_PORTRAIT;
}
}
但是,当我使用
setRequestedOrientation(getScreenOrientation));
时,我得到了一个可以抑制的棉绒错误Must be one of: ActivityInfo.SCREEN_ORIENTATION_.........
,但这看起来不像是干净的代码。因此,我发现
getRequestedOrientation
使用了@ActivityInfo.ScreenOrientation
注释。所以我尝试自己使用它:@ActivityInfo.ScreenOrientation
public int getScreenOrientation(boolean isTablet){
.
.
.
}
但是IDE给我一个错误,指出找不到注释
@ActivityInfo.ScreenOrientation
。但这是在Official-android-source中声明为公共(public)的。 最佳答案
将以下注释放在令人讨厌的语句之上,例如,其中会触发@IntDef and @StringDef annotation的魔术常数检查:
//noinspection ResourceType
setRequestOrientation(lock);