Android日记之2012\01\01

       新年新气象~~~新的一年,旧的不去,新的不来,祝各位读者新年快乐~~~
       智能手机有一点的确不错,横竖屏随意切,但是随之会带来两个问题: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表示为竖屏,只要在相对应的地方添加逻辑处理就行了。

你可能感兴趣的:(android,layout,Activity,landscape)