首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >谷歌像素android10不支持清单中的configChange

谷歌像素android10不支持清单中的configChange
EN

Stack Overflow用户
提问于 2019-11-05 13:55:56
回答 2查看 94关注 0票数 0

因为我的应用程序只支持移动设备的纵向模式。当我选择device Auto-rotate on。但是当我在Google Pixel Android 10上安装这个应用程序时,它会在横向模式下旋转。正如我在清单android:configChanges="screenLayout|keyboardHidden|screenSize|orientation".中提到的,但WebView仍然以横向模式旋转。如何处理这种情况。此外,当设备在横向模式下旋转时,onConfigurationChanged()方法将从函数返回。尽管如此,它仍然在横向模式下旋转。

请给我提建议。

谢谢

代码语言:javascript
复制
android:configChanges="screenLayout|keyboardHidden|screenSize|orientation"

fun onConfigurationChanged(){
if(Mobile){
return
}

预期视图不应在横向模式下旋转,因为它仅支持移动设备的纵向模式。

EN

回答 2

Stack Overflow用户

发布于 2019-11-05 13:58:52

在manifest.xml文件中,将以下行添加到每个声明的活动中:-

代码语言:javascript
复制
android:screenOrientation="portrait"

它将确保您的应用程序将仅处于纵向模式。

票数 1
EN

Stack Overflow用户

发布于 2019-11-05 14:05:48

代码语言:javascript
复制
android:configChanges="screenLayout|keyboardHidden|screenSize|orientation"

以上行的

不会阻止它进入landscap模式。它将阻止视图重新生成,这样就不需要保存视图的状态。

要在纵向模式下限制应用程序,您应该在activity标签中添加以下行。

代码语言:javascript
复制
android:screenOrientation="portrait"

此外,当配置发生更改时,将调用onConfigurationChanged方法。意味着在改变方向后,它会被调用,所以你不能在它里面写一些东西来阻止活动进入landscap模式。

,或者你可以试试这个

代码语言:javascript
复制
if(CommonUtils.dpFromPx(this, resources.displayMetrics.widthPixels.toFloat())>=600){
            requestedOrientation = ActivityInfo.SCREEN_ORIENTATION_NOSENSOR
        }
        else{
            requestedOrientation = ActivityInfo.SCREEN_ORIENTATION_SENSOR
        }

和方法dpFromPx是:

代码语言:javascript
复制
 public static float dpFromPx(final Context context, final float px) {
        return px / context.getResources().getDisplayMetrics().density;
    }
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58705287

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档