zoukankan      html  css  js  c++  java
  • Android配置横屏资源与Activity生命周期

      屏幕旋转会改变设备配置(device configguration)。设备设置的特征有:屏幕方向、屏幕像素密度、屏幕尺寸、键盘类型、底座模式以及语言等。

        当屏幕发现旋转时(设备配置更改),Android会销毁当前Activity,为新配置寻找最佳资源。


      Step1.创建水平模式布局

      右键res目录→New→Android resource directory

      

      单击>>后选择Landscape(横屏)选项

      

      点OK后发现res/layout-land目录下没有布局资源

      注意:

      切换至project视图创建即可,效果如下图

      


      虽然切换资源是个不错的主意,但是屏幕旋转会导致activity销毁与新建,即数据丢失。

      同时,Android有一个解决此类问题的好办法。

      onSaveInstanceState方法,该方法会将数据以Map形式存储

       

     1 public class MainActivity extends AppCompatActivity {
     2     private static final String KEY_INDEX="index";
     3     int mCurrentIndex;
     4     @Override
     5     protected void onCreate(Bundle savedInstanceState) {
     6         super.onCreate(savedInstanceState);
     7         setContentView(R.layout.activity_main);
     8         if(savedInstanceState!=null)
     9             mCurrentIndex=savedInstanceState.getInt(KEY_INDEX,0);
    10     }
    11 
    12     @Override
    13     protected void onSaveInstanceState(Bundle outState) {
    14         super.onSaveInstanceState(outState);
    15         outState.putInt(KEY_INDEX,mCurrentIndex);
    16     }
    17 }

     新增一个常量mCurrentIndex,在onCreate()方法中赋值给它

  • 相关阅读:
    jmeter如何连接数据库
    jmeter基础之录制篇
    php解压缩
    composer基本使用
    react组件之间的参数传递
    解决VMware Workstation 不可恢复错误: (vcpu-0)
    虚拟机vmware11装Mac ox 10.8 解决windows8.1下unlocker202 vmxsmc.exe已停止工作的问题
    Photoshop学习:打开PS之前需要...
    汇编语言之启航
    Markdown语法介绍
  • 原文地址:https://www.cnblogs.com/xpang0/p/7695251.html
Copyright © 2011-2022 走看看