android - 触发点击按钮后,如何在 android 中再次启用自动旋转?

标签 android rotation android-orientation android-fullscreen

我创建了一个示例应用程序,它使用按钮触发全屏,启用自动旋转的触发也全屏,但在使用自动旋转后,如果我使用按钮触发另一个方向变化,那么在我点击按钮后,我的 Activity 现在不能自动执行从改变方向再次旋转,现在只有按钮可以改变模式,自动旋转不能再使用了。如何解决这个问题?

这正常吗?

按钮调整大小

public void clickResize(View view) {
    setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
}

按钮全屏

public void clickFullscreen(View view) {
    setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
}

addflags、clearflags 和 configurationChanged() 的方法

private void onFullscreen() {
        window.addFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);
        window.clearFlags(WindowManager.LayoutParams.FLAG_FORCE_NOT_FULLSCREEN);
    }

private void offFullscreen() {
    window.addFlags(WindowManager.LayoutParams.FLAG_FORCE_NOT_FULLSCREEN);
    window.clearFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);
}

public void onConfigurationChanged(Configuration newConfig) {
    super.onConfigurationChanged(newConfig);

    if (newConfig.orientation == Configuration.ORIENTATION_LANDSCAPE) {
        onFullscreen();
}           
        } else if (newConfig.orientation == Configuration.ORIENTATION_PORTRAIT) {
            offFullscreen();
    }       
}

最佳答案

我遇到了同样的问题,解决方法如下:

通过代码旋转后设置setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_UNSPECIFIED):

来自:

public void clickResize(View view) {
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);}

收件人:

public void clickResize(View view) {
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_UNSPECIFIED)}

关于android - 触发点击按钮后,如何在 android 中再次启用自动旋转?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21593167/

相关文章:

javascript - -webkit-transform 旋转问题

android - 自定义属性 - 方向变化

java - Android 中拍照并上传到服务器

android - 使用 Algolia Android 客户端进行单元测试时出现死锁

android - LayerDrawable图层padding和圆角部分不透明

android - 自定义 Android 键盘输入过滤

internet-explorer - IE 中的 CSS 旋转显示不正确

javascript - Three.js 旋转面向对象

android - 在单 Activity 架构中为 fragment 设置横向方向

android - Fragments、ContentProviders 和方向变化的游标