java - 如何使用@ActivityInfo.ScreenOrientation

标签 java android annotations

我尝试创建一个方法,它返回屏幕方向依赖于 无论设备是手持设备还是平板电脑。

public int getScreenOrientation(boolean isTablet){
    if(isTablet){
        return ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE;
    } else {
        return ActivityInfo.SCREEN_ORIENTATION_PORTRAIT;
    }
}

但是当我使用 setRequestedOrientation(getScreenOrientation)); 我得到一个 lint-error Must be one of: ActivityInfo.SCREEN_ORIENTATION_.........我可以抑制它,但这看起来不像干净的代码。

所以我发现,getRequestedOrientation 使用了 @ActivityInfo.ScreenOrientation 注释。所以我自己尝试使用它:

@ActivityInfo.ScreenOrientation
public int getScreenOrientation(boolean isTablet){
    .
    .
    .
}

但是 IDE 给我一个错误,指出无法找到注释 @ActivityInfo.ScreenOrientation。但是它在 official-android-source 中是公开的。

最佳答案

将以下评论放在令人讨厌的语句上方,其中魔术常量检查 @IntDef and @StringDef annotation被触发,例如:

//noinspection ResourceType
setRequestOrientation(lock);

关于java - 如何使用@ActivityInfo.ScreenOrientation,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28557696/

相关文章:

java - Android Java 登录 Activity 方向更改

android - 如何在 Android 上相对移动图像?

java - Android putExtra问题

java - 在具有不同数量参数的多个方法上使用调用

java - 定义常见的swagger注解

java - 如何扩展 wsimport 生成的带有 WebFault 注释的异常?

java - 在文件中搜索关键字,然后输出包含关键字的整个句子

java - 在 Spring 中排除单元测试 @Configurations 的最佳方法?

java.lang.NoClassDefFoundError : org/slf4j/LoggerFactory even though I have the right dependencies

java - Hibernate:尽管列存在,但在 having 子句中出现 MySQL 错误未知列