`
hylxinlang
  • 浏览: 129960 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

Android自动横屏注意事项

阅读更多

在Android 2.3平台上,我们可以需要设置界面的横竖屏显示时,可以在AndroidManifest.xml中,对Activity的属性添加以下代码:

android:configChanges="orientation"

同时在Activity中覆写onConfigurationChanged方法

@Override

public void onConfigurationChanged(Configuration newConfig) {

super.onConfigurationChanged(newConfig);

Log.i("TAG","I'm Android 2.3");

}

通过设置,当前Activity在横竖屏切换的时候,便不会重新走Activity的生命周期,而是直接执行onConfigurationChanged()方法里的内容。

==Android 4.0以后的横竖屏切换==

当我们在Android 4.0上像之前那样设置横竖屏时,会发现竟然没有效果,Activity依然走自己的生命周期,这是因为在API level 13以后Android做了修改了,SDK描述如下:

Caution: Beginning with Android 3.2 (API level 13), the "screen size" also changes when the device switches between portrait and landscape orientation. Thus, if you want to prevent runtime restarts due to orientation change when developing for API level 13 or higher (as declared by the minSdkVersion and targetSdkVersion attributes), you must include the "screenSize" value in addition to the "orientation" value. That is, you must decalare android:configChanges="orientation|screenSize". However, if your application targets API level 12 or lower, then your activity always handles this configuration change itself (this configuration change does not restart your activity, even when running on an Android 3.2 or higher device).

也就是说在Android 3.2(API level 13)以后,当设备横竖屏切换时屏幕尺寸也改变了。因此,如果你想在API Level 13或者更高的环境下,像以前那样阻止设备的横竖屏切换,你需要在orientation后加上screenSize。也就说你要像这样声明:android:configChanges="orientation|screenSize"。

也就是说我们现在要在AndroidManifest.xml中的Activity加入以下属性:

android:configChanges="orientation|screenSize"

同时依然要在Activity中覆写onConfigurationChanged方法

@Override

public void onConfigurationChanged(Configuration newConfig) {

super.onConfigurationChanged(newConfig);

Log.i("TAG","I'm Android 4.0");

}

0
0
分享到:
评论

相关推荐

    Android studio通过切换不同layout实现横竖屏适配

    五、注意事项 1. 不同屏幕尺寸和密度也可能需要适配,可以利用Android的密度独立像素(dp)和比例缩放资源(例如values-sw600dp等)来实现。 2. 避免硬编码控件的尺寸,而是使用权重(weight)或者相对布局...

    android 手机强制横竖屏

    在Android操作系统中,开发者可以为应用设置特定的屏幕方向,让用户在特定场景下强制使用横屏或竖屏模式。这通常涉及到Android系统提供的布局管理、传感器管理和Activity配置更改等相关知识。下面将详细介绍如何实现...

    uniapp中设置横屏竖屏

    三、注意事项 1. 不同平台兼容性:尽管uni-app试图提供跨平台的API,但某些设备或浏览器可能不完全支持所有功能。因此,在实际开发中需要测试不同平台的兼容性。 2. 用户体验:在设计应用时,要考虑用户对屏幕方向...

    Android视频播放器(支持横竖屏切换)

    在Android平台上开发一款支持横竖屏切换...以上知识点涵盖了创建一个支持横竖屏切换的Android视频播放器所涉及的主要技术和注意事项。通过深入理解这些概念并实践,开发者可以构建出满足用户需求的高质量视频播放应用。

    Android 横竖屏

    六、注意事项 1. **性能影响**:如果选择在`onConfigurationChanged`中处理横竖屏切换,可能会增加内存消耗和CPU使用,因为Activity不会被完全销毁。 2. **资源适配**:确保所有图片、字符串等资源都适配了不同...

    Android自动换行标签控件LineBreakLayout

    6. **注意事项** - 确保所有子视图的宽度都是wrap_content,以便`LineBreakLayout`能够正确计算换行。 - 如果标签数量过多,可能需要考虑分页或者滚动效果。 通过理解和应用`LineBreakLayout`,开发者可以轻松地...

    android 自动换行layout

    6. **注意事项**: - 在自定义布局时,注意处理不同屏幕尺寸和密度的适配问题。 - 考虑到性能优化,避免在`onMeasure()`方法中执行过于复杂的操作。 - 需要处理子视图数量为0的情况,防止空指针异常。 通过以上...

    Android-加速传感器或者OrientationEventListener做横竖屏切换

    四、注意事项与优化 1. 考虑电池消耗:使用传感器可能会增加电池消耗,因此在不使用时应及时关闭监听。 2. 用户体验:确保在切换屏幕时提供平滑的过渡,避免卡顿或闪烁。 3. 错误处理:对传感器数据异常或监听失败...

    Android 12.0 Launcher 客制化指导手册.pdf

    开发者可以根据需求调整桌面的列数、行数,甚至可以设置不同屏幕的个性化布局,如横屏和竖屏下的不同布局方案。 **3.2 布局配置** 通过修改XML布局文件,可以定制桌面快捷方式、文件夹、搜索框等元素的位置和大小...

    Android 沉浸式状态栏(亲测好用)

    - 在横屏模式下,也需要考虑沉浸式状态栏的适配。 - 针对不同设备和系统版本,可能需要不同的处理策略,以保证兼容性和用户体验。 总之,Android沉浸式状态栏是提升应用视觉效果的重要手段,开发者可以根据具体需求...

    Android11小横条隐藏 (1).zip

    `README.md`文件是项目或程序的说明文档,通常会详细解释如何使用这些文件、隐藏小横条的具体步骤、注意事项以及可能遇到的问题和解决方案。通过阅读`README.md`,用户可以了解到如何运行`install.sh`脚本,以及在...

    android 视频播放sdk

    Android视频播放SDK是一种专为Android平台设计的软件开发工具包,用于在移动设备上实现流畅、高效的视频播放...开发者应深入研究SDK文档,了解每个功能的使用方法和注意事项,以确保在实际项目中的顺畅集成和稳定运行。

    Android可视化界面设计工具DroidDraw

    5. **预览界面**:在工作区右下角的预览窗口查看界面效果,确保在不同状态下(如横屏、竖屏)都能正常显示。 6. **保存和导出**:完成设计后,选择“File”菜单中的“Export as Android XML Layout”导出XML文件。 ...

    android实现分屏源代码

    1. 分屏模式:Android设备在大屏幕或横屏状态下,可以将屏幕一分为二,分别显示两个应用界面,用户可同时操作两个应用。 2. 多窗口模式:这是分屏模式的另一种说法,尤其在三星等厂商的设备上常见。 3. API级别:从...

    android重力感应禁止调用oncreat方法

    // 处理横屏情况 } else if (newConfig.orientation == Configuration.ORIENTATION_PORTRAIT) { // 处理竖屏情况 } } ``` #### 四、注意事项 1. **兼容性问题**:确保你的应用能够在不同版本的Android系统上...

    海康威视 Android SDK网络库+播放库

    - **全屏切换**:支持横竖屏自动或手动切换,优化观看体验。 - **预览与播放模式**:提供预览和播放两种模式,满足不同场景需求。 3. **集成步骤** 在Android项目中集成海康威视SDK,通常需要以下步骤: - *...

    Cocos2d-x将win32移植到android.doc

    4. 解决Android的横竖屏问题,可以使用条件编译宏关闭特定设备方向设置。 通过以上步骤,你可以成功地将Cocos2d-x开发的Win32应用移植到Android平台。在移植过程中,可能会遇到各种问题,如编译错误、资源找不到等...

    Android多语言适配Demo

    在`res`目录下,我们可以创建`layout-land`(横屏)和`layout-ldrtl`(从右到左)等文件夹,放置对应布局文件。 6. **日期和数字格式**: - 除了文本,日期和数字的格式也会因语言和文化差异而变化。Android提供`...

    移动平台响应式设计注意事项及建议.pdf

    - **分辨率适应**:使用媒体查询(`@media`规则)调整不同屏幕尺寸的样式,例如针对1280px宽的横屏、1024px宽的屏幕等设置。 5. 响应式设计策略: - **屏幕尺寸考虑**:设计师需考虑到各种分辨率和屏幕方向的影响,...

Global site tag (gtag.js) - Google Analytics