新年新气象~~~新的一年,旧的不去,新的不来,祝各位读者新年快乐~~~
智能手机有一点的确不错,横竖屏随意切,但是随之会带来两个问题:1、界面的变形。2、Activity的重新创建。
总的来说,有一个好方法可以解决这两个问题,那就是锁屏,我们可以在Mainfest文件中对Activity添加属性android:screenOrientation=”portait”(竖屏),或者”landscape”(横屏)。这样就能保证不管用户怎么晃,始终如一。
但是,客户是上帝,当客户希望支持横竖屏切换的时候,我们还只能给他们完成这些东西。
首先来说明下界面的问题。由于横竖屏切换会导致界面变形,所以我们就要给横竖屏来分别定制一套界面。在res文件夹下创建layout-land和layout-port。layout-land下放的是横屏的布局文件layout-port下放的是是竖屏的布局文件,这样切换起来就美观多了。
其次是Activity的问题,当横竖屏切换的时候,系统会销毁当前的Activity,并且再生成一个新的,所以,一些正在处理的数据可能就会紊乱。解决方案:1、不能销毁当前Activity。在Mainfest文件中对应的Activity下,添加属性android:configChanges=”orientation|keyboardHidden”。2、在对应的Activity类中添加方法onConfigurationChanged(),通过this.getResources().getConfiguration().orientation来检测屏幕方向,如果其值为Configuration.ORIENTATION_LANDSCAPE表示为横屏,Configuration.ORIENTATION_PORTRAIT表示为竖屏,只要在相对应的地方添加逻辑处理就行了。

更多相关文章

  1. android中viewpager的学习
  2. 【Android】17.0 第17章 服务绑定—本章示例主界面
  3. Android布局整合include界面控件
  4. Android(安卓)ionic工程中调用webrtc获取视频流
  5. mac下编译ffmpeg1.1.4
  6. Android(安卓)Fragment 详细翻译
  7. Android(安卓)ActionBar 使用详解
  8. Android(安卓)Studio 加载 .so库出现couldn't find "*.so"
  9. 如何用eclipse编译调试adnroid的Browser

随机推荐

  1. Android(安卓)OpenGLES绘制yuv420纹理
  2. Android(安卓)HandlerThread源码解析
  3. android proguard混淆apk问题
  4. The import org.cocos2dx.lib cannot be
  5. PianoView-添加一行代码使用[最美应用]的
  6. 实战Linux Bluetooth编程(三) HCI层编程
  7. Android(安卓)调节屏幕亮度问题
  8. Android传感器各种解释
  9. Android(安卓)进程间通信-Intent、Messen
  10. Android(安卓)动画AlphaAnimation类方法