您的位置:首页 > 移动开发 > Android开发

11.Activity的一些知识点补充

2014-08-11 11:47 155 查看
1,在res目录下建立layout-port和layout-land两个目录,里面分别放置竖屏和横屏两种布局文件,当手机屏幕方向变化的时android系统会自动调用相应的布局文件。而设置的方法,是在权限文件下面设置成android:screenOrientation="portrait"或者 android:screenOrientation="landscape",从而采取相对应的layout文件夹里面的东西。

2,不让activity进行横竖切换

要么都是横屏或者要么都是竖屏。可以在AndroidManifest.xml文件中设置,比如某个Activity设置为android:screenOrientation="portrait" 这样就一直保持竖屏,如果设置为 android:screenOrientation="landscape" 这样就一直保持横屏。 

3,如何获得当前设备的屏幕大小

WindowManager windowManager = getWindowManager();
Display display = windowManager.getDefaultDisplay();
int screenWidth = display.getWidth();
int screenHeight = display.getHeight();

4,在横竖切换时候不销毁activity

在Mainifest.xml的Activity元素中加入android:configChanges="orientation|keyboardHidden"属性

<activity android:name=".FileBrowser"
android:label="@string/app_name"
android:configChanges="orientation|keyboardHidden">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>

1、不设置Activity的android:configChanges时,切屏会重新调用各个生命周期,切横屏时会执行一次,切竖屏时会执行两次

2、设置Activity的android:configChanges="orientation"时,切屏还是会重新调用各个生命周期,切横、竖屏时只会执行一次

3、设置Activity的android:configChanges="orientation|keyboardHidden"时,切屏不会重新调用各个生命周期,只会执行onConfigurationChanged方法
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  android