横竖屏切换后 Activity 会重新执行 onCreate 函数,但是在 Android 工程的 Mainfest.xml 中加入
android:screenOrientation="user" android:configChanges="orientation|keyboardHidden"
之后,横竖屏切换之后就不会去执行 OnCreate 函数了,而是会去调用 onConfigurationChanged(),这样我们就能控制横竖屏的切换了。
或者在 res 目录下建立 layout-land 和 layout-port 目录,相应的 layout 文件不变。layout-land 是横屏的 layout,layout-port 是竖屏的 layout。
如果想让它一直是横屏显示的话,只要在配置文件中设置 android:screenOrientation="landscape" 就行了,或者在代码中 setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);。
如果想让它一直是竖屏显示的话,只要在配置文件中设置 android:screenOrientation="portrait" 就行了,或者在代码中setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);。
启动的时候是横屏的话就横屏表示,纵屏的话就纵屏表示,手机切换横竖屏不能用。
第一步:在Mainfest.xml中追加
android:screenOrientation="sensor" android:configChanges="orientation|keyboardHidden"
第二步:取得屏幕的长和宽,进行比较设置横竖屏的变量。
Display display = getWindowManager().getDefaultDisplay();
int width = display.getWidth();
int height = display.getHeight();
if (width > height) {
orientation = ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE;
} else {
orientation = ActivityInfo.SCREEN_ORIENTATION_PORTRAIT;
}
第三步:在onConfigurationChanged()函数中追加this.setRequestedOrientation(mOrientation)就行了
@Override
public void onConfigurationChanged(Configuration newConfig) {
super.onConfigurationChanged(newConfig);
this.setRequestedOrientation(mOrientation);
}
切到别的画面的时候再回到原画面,它就仍然是横的或者是纵的。想让它从别的屏幕回来后,又重新横竖屏布局,只要在OnResume()中在设定下就行了,但是这个只支持横竖屏只有一个layout的。
http://blog.sina.com.cn/s/articlelist_1571372175_0_1.html
分享到:
相关推荐
总之,处理Android横竖屏切换涉及对布局的适配和Activity生命周期的理解。正确设置`AndroidManifest.xml`中的配置以及在代码中灵活处理布局加载和状态保存,是实现良好横竖屏切换体验的关键。开发者需要根据具体需求...
总结来说,横竖屏切换在Android应用开发中是一个涉及到用户界面方向适应性和用户体验的重要部分。开发者需要根据应用的实际需求和功能设计,通过AndroidManifest.xml中的配置或者代码中的实现来控制Activity的屏幕...
总的来说,Android开发者需要根据具体的应用需求来灵活处理横竖屏切换,确保用户在任何屏幕方向下都能获得良好的体验。通过合理设置`AndroidManifest.xml`中的属性和在代码中适当地处理配置变化,可以实现横竖屏切换...
总结起来,处理Android横竖屏切换的关键在于理解屏幕方向变化对`Activity`生命周期的影响,以及如何通过布局文件分隔和`onConfigurationChanged()`方法来适配不同屏幕方向。正确地管理这些方面可以使应用在横竖屏间...
1. 在Android Studio中,可以通过AVD(Android Virtual Device)模拟器测试横竖屏切换。在AVD Manager中创建一个新的设备,选择支持横竖屏的设备配置。 2. 运行应用,然后在AVD的顶部菜单中选择旋转按钮或直接拖动...
总结,Android横竖屏切换涉及多个方面,包括通过XML配置文件或Java代码控制屏幕方向,利用资源定向创建不同的布局,以及通过`onConfigurationChanged`方法处理屏幕变化时的逻辑。开发者应根据实际需求选择合适的策略...
总结,Android中的动态创建Fragment和横竖屏切换是开发过程中的常见操作。理解Fragment的生命周期、如何在Activity中添加和管理Fragment,以及如何处理横竖屏切换时的状态保存,是每个Android开发者必须掌握的基本...
android横竖屏总结.doc Android 的手势拖动切换ViewViewFlipper.doc Eclipse内存不足的解决办法.doc EditView 阻止软键盘自动弹出.doc HttpClient的一个应用的例子(图片下载).txt RatingBar 更换图片.doc ...
android横竖屏总结.doc Android 的手势拖动切换ViewViewFlipper.doc Eclipse内存不足的解决办法.doc EditView 阻止软键盘自动弹出.doc HttpClient的一个应用的例子(图片下载).txt RatingBar 更换图片.doc TextView...
在Android开发中,横竖屏切换是...总结来说,Android横竖屏切换涉及到`AndroidManifest.xml`的配置、Activity生命周期回调、布局资源管理等多个方面。开发者应根据应用的需求灵活处理,确保用户体验的流畅性和一致性。
本篇文章将深入解析Android横竖屏切换时Activity生命周期的变动,以及如何通过配置`android:configChanges`属性来控制Activity的行为。 首先,当我们不进行任何特殊配置时,即在`AndroidManifest.xml`中没有指定`...
总结来说,Android监听横竖屏切换功能,通过在AndroidManifest.xml中设置android:configChanges属性,以及在Activity中重写onConfigurationChanged方法,来实现屏幕方向变化的监听和处理。这对于需要在横竖屏切换时...
在Android开发中,横竖屏切换是常见的应用场景,特别是在观看视频、玩游戏等场景下。当用户设备的自动屏幕旋转功能关闭时,开发者需要通过其他方式实现这一功能。本篇文章将详细探讨如何利用加速传感器...
总结来说,处理Android横竖屏切换数据丢失的问题,关键在于理解Activity生命周期的变化以及如何利用`onConfigurationChanged()`方法来适配屏幕配置的变化。通过合理配置`AndroidManifest.xml`和编写适当的代码,可以...
总结起来,横竖屏切换处理是Android开发中的一个核心环节,涉及到了活动生命周期、资源配置、布局适配等多个方面。理解和熟练掌握这些知识点,将有助于构建出更加健壮、适应性强的Android应用。
总结,横竖屏切换是移动应用设计中重要的一环,合理地利用这一特性可以增强用户体验。在Android和iOS平台上,开发者都有多种方式来实现和控制横竖屏切换,同时需要注意布局适配、性能优化以及用户体验的提升。
4. **横竖屏切换**: 横竖屏切换时,Activity生命周期的处理取决于在清单文件中对`android:configChanges`的设置。默认情况下,屏幕切换会导致Activity销毁和重建;如果设置`android:configChanges="orientation|...
然而,在某些情况下,这些动画效果会导致屏幕短暂黑屏或闪烁,尤其是在快速连续进行多个界面切换操作时更为明显。 #### 三、解决方案 为了避免这一问题的发生,可以通过自定义动画来覆盖系统默认的动画效果。具体...