一般在AndroidManifest.xml文件中都没有使用到android:configChanges="keyboardHidden|orientation"配置,当然还是很有用的哈

就是如果配置了这个属性,当我们横竖屏切换的时候会直接调用onCreate方法中的onConfigurationChanged方法,而不会重新执行onCreate方法,那当然如果不配置这个属性的话就会重新调用onCreate方法了,下面是测试

        
  1. <?xmlversion="1.0"encoding="utf-8"?>
  2. <manifestxmlns:android="http://schemas.android.com/apk/res/android"
  3. package="com.test"
  4. android:versionCode="1"
  5. android:versionName="1.0">
  6. <uses-sdkandroid:minSdkVersion="8"/>
  7. <applicationandroid:icon="@drawable/icon"android:label="@string/app_name">
  8. <activityandroid:name=".TestActivity"
  9. android:label="@string/app_name"
  10. android:configChanges="keyboardHidden|orientation">
  11. <intent-filter>
  12. <actionandroid:name="android.intent.action.MAIN"/>
  13. <categoryandroid:name="android.intent.category.LAUNCHER"/>
  14. </intent-filter>
  15. </activity>
  16. </application>
  17. </manifest>

MainActivtiy.java

        
  1. packagecom.example.testforshape;
  2. importandroid.os.Bundle;
  3. importandroid.app.Activity;
  4. importandroid.content.res.Configuration;
  5. importandroid.graphics.Bitmap;
  6. importandroid.graphics.BitmapFactory;
  7. importandroid.graphics.drawable.BitmapDrawable;
  8. importandroid.graphics.drawable.Drawable;
  9. importandroid.view.Menu;
  10. importandroid.view.MenuItem;
  11. importandroid.view.Window;
  12. importandroid.widget.TextView;
  13. importandroid.support.v4.app.NavUtils;
  14. publicclassMainActivityextendsActivity{
  15. @Override
  16. publicvoidonCreate(BundlesavedInstanceState){
  17. super.onCreate(savedInstanceState);
  18. setContentView(R.layout.activity_main);
  19. System.out.println("oncreadtes");
  20. }
  21. @Override
  22. publicvoidonConfigurationChanged(ConfigurationnewConfig){
  23. System.out.println("config改变");
  24. if(newConfig.orientation==Configuration.ORIENTATION_LANDSCAPE)
  25. {
  26. System.out.println("横");
  27. }
  28. elseif(newConfig.orientation==Configuration.ORIENTATION_PORTRAIT)
  29. {
  30. System.out.println("竖");
  31. }
  32. super.onConfigurationChanged(newConfig);
  33. }
  34. @Override
  35. publicbooleanonCreateOptionsMenu(Menumenu){
  36. getMenuInflater().inflate(R.menu.activity_main,menu);
  37. returntrue;
  38. }
  39. }

运行截图:

更多相关文章

  1. 浅谈Java中Collections.sort对List排序的两种方法
  2. Python list sort方法的具体使用
  3. python list.sort()根据多个关键字排序的方法实现
  4. android上一些方法的区别和用法的注意事项
  5. android实现字体闪烁动画的方法
  6. Android中dispatchDraw分析
  7. Android四大基本组件介绍与生命周期
  8. Android(安卓)MediaPlayer 常用方法介绍
  9. 在Fragment中设置控件点击方法,执行失败。

随机推荐

  1. 在Ubuntu为Android硬件抽象层(HAL)模块编写
  2. ADB命令行卸载或删除你的Android设备中的
  3. 图解 Android(安卓)事件分发机制
  4. 基于开源框架Glide加载Gif资源图到Androi
  5. Cocos2d Android移植手记(二)——cocos2d A
  6. 体验Android电子市场后的一些感受
  7. Android中View自定义XML属性详解以及R.at
  8. android 使用Kotlin operator 泛型属性委
  9. Flutter框架的安装与环境配置
  10. Android(安卓)jetpack最佳总结和实践