Android横竖屏要解决的问题应该就两个:一。布局问题;二。重新载入问题。
在做APP的时候碰到一种情况:
手机切换横屏、竖屏时,想采用不同的布局文件,但又不想屏幕翻转时,Activity就不会重复的调用onCreate()、onPause()和onResume()(因为这样调用的话,太浪费资源了)。
这就需要用到 android:configChanges=”orientation|keyboardHidden|navigation” 来帮忙了。
具体做法:
1. 在AndroidManifest.xml中配置该Activity:
增加该配置的意思就是:横竖屏幕切换的时候,不重新绘制Activity(不重新调用onCreate,onResume等方法),而是仅仅执行onConfigurationChanged()方法。
<?xml version=”1.0″ encoding=”utf-8″?>
<manifest xmlns:android=”http://schemas.android.com/apk/res/android”
package=”com.liucd”
android:versionCode=”1″
android:versionName=”1.0″>
<application android:icon=”@drawable/icon” android:label=”@string/app_name”>
<activity android:name=”.Orientation2″ android:label=”@string/app_name”
android:configChanges=”orientation|keyboardHidden|navigation”
>
<intent-filter>
<action android:name=”android.intent.action.MAIN” />
<category android:name=”android.intent.category.LAUNCHER” />
</intent-filter>
</activity>
</application>
</manifest>
2.重写onConfigurationChanged方法,并在横竖切换的时候加上自己的处理逻辑。
/**
* android:configChanges=”orientation|keyboardHidden|navigation
* 当屏幕翻转时,Activity就不会重复的调用onCreate()、onPause()和onResume().
* 而是调用onConfigurationChanged(Configuration newConfig);
*/
@Override
public void onConfigurationChanged(Configuration config) {
super.onConfigurationChanged(config);
if (this.getResources().getConfiguration().orientation == Configuration.ORIENTATION_LANDSCAPE) {
makeText(“横屏”);
} else if (this.getResources().getConfiguration().orientation == Configuration.ORIENTATION_PORTRAIT) {
makeText(“竖屏”);
}
setContentView(R.layout.main);
}
3.成功。Eclipse工程下载
http://www.liucundong.com/?p=292
分享到:
相关推荐
在Android开发中,横竖屏切换是一个十分常见但又复杂的功能。Android设备上的屏幕方向变化通常由物理重力感应触发,但也可以通过软件设置来控制。在没有关闭横竖屏切换功能的情况下,当系统触发屏幕方向改变时,当前...
本示例“Fragment的使用,隐藏显示以及androidPad横竖屏切换”将重点讲解如何操作Fragment以及处理平板设备上的横竖屏切换。 首先,让我们深入理解Fragment的生命周期。Fragment有自己的onCreate(), onCreateView()...
通过以上讲解,我们可以理解Android横竖屏切换的基本原理和实践技巧。这个Demo提供了一个实际的示例,帮助开发者更好地理解和掌握这一功能的实现。在实际项目中,根据具体需求灵活运用这些知识,可以提升应用的用户...
这份"Android横竖屏切换处理Demo源码"提供了一个很好的学习示例,帮助开发者理解和处理这一问题。以下是对这个Demo源码中涉及的知识点的详细解析: 1. **Activity生命周期与横竖屏切换**: 当设备屏幕方向发生变化...
这份"Android应用源码之(横竖屏切换处理)"的资源,是一个非常适合毕业设计学习的示例,可以帮助开发者深入理解如何在Android应用中处理屏幕旋转的问题。 首先,Android系统默认支持横竖屏的自动切换,但有时为了...
android activity 执行屏幕横竖屏切换的时候activity声明周期执行的竖屏的时候点击横屏 09-04 15:54:27.675: I/yxd(6708): 应用程序执行了============onPause===方法===>> 09-04 15:54:27.685: I/yxd(6708): 应用...
在Android平台上开发一款支持横竖屏切换的视频播放器是一项常见的任务,这涉及到对Android多媒体框架的深入理解和屏幕适配策略。"Android视频播放器(支持横竖屏切换)"这个项目的核心目标是创建一个能够根据设备...
本Demo主要展示了如何利用zxing库实现一个支持横竖屏切换的二维码扫描功能。ZXing,全称Zebra Crossing,是一个开源的条码处理库,支持多种格式的条码和二维码扫描。 首先,我们需要在项目中集成zxing库。这里使用...
在Android开发中,横竖屏切换是一个常见的需求,尤其对于那些需要根据屏幕方向提供不同界面布局的应用来说。本文将深入探讨Android系统中的横竖屏切换机制,并通过"OrientationSwitchDemo"这个示例代码来帮助理解。 ...
在安卓(Android)系统中,横竖屏切换是应用程序开发中的常见需求,涉及到用户界面(UI)布局的动态调整和程序状态的保存与恢复。本资料"安卓Android源码——(横竖屏切换处理).rar"很可能是针对这一主题的一个实践...
在Android开发中,横竖屏切换是常见的应用场景,它涉及到Activity的生命周期管理和用户界面的适配。本项目“LandscapePortraitDemo”旨在演示如何在Android Studio中处理这一问题,同时结合WebView的加载以及...
android 视频播放 点击横竖屏切换 自动旋转横竖屏切换 冲突 仿优酷(ios)效果 android没去看看到ios有这个效果 项目需要也实现了
以下是关于Android横竖屏切换的关键知识点: 1. **布局切换**: - 在Android项目中,为了处理横竖屏切换,开发者通常会在`res`目录下创建`layout-land`和`layout-port`两个子目录。`layout-land`用于放置横屏布局...
Fragment的概念在Android 3.0(API级别11)引入,为开发者提供了更大的灵活性来设计多屏幕应用,特别是在处理横竖屏切换时。本项目"fragment横竖屏切换demo"是一个实际操作的例子,展示了如何利用Fragment来实现横竖...
在Android应用开发中,横竖屏切换是一个常见的需求,开发者需要处理好布局的变化以及由此引发的用户体验问题。本文将详细讲解如何在Android中实现横竖屏切换,并讨论如何禁止或控制这种切换。 首先,Android系统...
总结起来,处理Android横竖屏切换的关键在于理解屏幕方向变化对`Activity`生命周期的影响,以及如何通过布局文件分隔和`onConfigurationChanged()`方法来适配不同屏幕方向。正确地管理这些方面可以使应用在横竖屏间...
本篇将深入探讨如何在Android中动态创建Fragment以及在横竖屏切换时保持状态。 首先,让我们了解Fragment的基本概念。Fragment是一个可以包含用户界面的模块化组件,它可以被添加到Activity中,也可以从Activity中...
总的来说,处理Android横竖屏切换涉及多方面的知识,包括布局适配、配置变更监听、数据保存恢复、Activity生命周期以及性能优化等。理解并熟练运用这些知识点,能帮助开发者创建出适应不同屏幕方向的高质量应用。