- ubuntu12.04环境下使用kvm ioctl接口实现最简单的虚拟机
- Ubuntu 通过无线网络安装Ubuntu Server启动系统后连接无线网络的方法
- 在Ubuntu上搭建网桥的方法
- ubuntu 虚拟机上网方式及相关配置详解
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的文章或继续浏览相关文章,希望大家以后支持我的博客! 。
我是一名优秀的程序员,十分优秀!