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()方法中赋值给它

  • 相关阅读:
    POJ 1703 Find them, Catch them
    POJ 2236 Wireless Network
    POJ 2010 Moo University
    POJ 2184 Cow Exhibition
    POJ 3280 Cheapest Palindrome
    POJ 3009 Curling 2.0
    POJ 3669 Meteor Shower
    POJ 2718 Smallest Difference
    POJ 3187 Backward Digit Sums
    POJ 3050 Hopscotch
  • 原文地址:https://www.cnblogs.com/vi3nty/p/7695251.html
Copyright © 2011-2022 走看看