gpt4 book ai didi

android横竖屏切换不重启activity解决方案

转载 作者:qq735679552 更新时间:2022-09-28 22:32:09 25 4
gpt4 key购买 nike

CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.

这篇CFSDN的博客文章android横竖屏切换不重启activity解决方案由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.

部分网友会发现Activity在切换到后台或布局从横屏LANDSCAPE切换到PORTRAIT,会重新切换Activity会触发一次onCreate方法,我们可以在androidmanifest.xml中的activit元素加入这个属性Android:configChanges="orientation|keyboardHidden" 即可,比如 <activity android:name=".android123" android:configChanges="orientation|keyboardHidden" android:label="@string/app_name"> Java代码 。

复制代码 代码如下

/* 声明Display对象,以取得屏幕宽高 */ final Display defaultDisplay = getWindow().getWindowManager() .getDefaultDisplay(); intScreenH = defaultDisplay.getHeight(); intScreenW = defaultDisplay.getWidth(); /* 如果为Landscape */ if (intScreenW > intScreenH) { /* Landscape => Portrait */ setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT); } else { /* Portrait => Landscape */ setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE); } /* 声明Display对象,以取得屏幕宽高 */ final Display defaultDisplay = getWindow().getWindowManager() .getDefaultDisplay(); intScreenH = defaultDisplay.getHeight(); intScreenW = defaultDisplay.getWidth(); /* 如果为Landscape */ if (intScreenW > intScreenH) { /* Landscape => Portrait */ setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT); } else { /* Portrait => Landscape */ setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE); } 。

同时在Activity的Java文件中重载onConfigurationChanged(Configuration newConfig)这个方法,这样就不会在布局切换或窗口切换时重载onCreate等方法。代码如下: Java代码 。

复制代码 代码如下

@Override public void onConfigurationChanged(Configuration newConfig) { super.onConfigurationChanged(newConfig); if (this.getResources().getConfiguration().orientation == Configuration.ORIENTATION_LANDSCAPE) { //land } else if (this.getResources().getConfiguration().orientation == Configuration.ORIENTATION_PORTRAIT) { //port } } @Override public void onConfigurationChanged(Configuration newConfig) { super.onConfigurationChanged(newConfig); if (this.getResources().getConfiguration().orientation == Configuration.ORIENTATION_LANDSCAPE) { //land } else if (this.getResources().getConfiguration().orientation == Configuration.ORIENTATION_PORTRAIT) { //port } } 。

最后此篇关于android横竖屏切换不重启activity解决方案的文章就讲到这里了,如果你想了解更多关于android横竖屏切换不重启activity解决方案的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com