`

在Activity里获取android屏幕方向并处理相关事件

阅读更多
Configuration config = getResources().getConfiguration();  

    if (config.orientation == Configuration.ORIENTATION_LANDSCAPE){  

            //横屏,比如 480x320



     }else if(config.orientation == Configuration.ORIENTATION_PORTRAIT){  

            //竖屏 ,标准模式 320x480



     }else if(config.hardKeyboardHidden == Configuration.KEYBOARDHIDDEN_NO){  

            //横屏,物理键盘滑出了



     }else if(config.hardKeyboardHidden == Configuration.KEYBOARDHIDDEN_YES){  

            //竖屏,键盘隐藏了  



    }

   

   

    在activity中重写这个方法

        @Override

        public void onConfigurationChanged(Configuration newConfig) {

                super.onConfigurationChanged(newConfig);

        }

    每一次横屏和竖屏都会调用这个方法





在android2.2.1系统的Launcher.java上测,每次屏幕方向改变时都会调用 Activity的onCreate()方法,并不会调用onConfigurationChanged()这是因为你对应的Activity
类没有设置 android:configChanges="orientation|keyboardHidden"。

分享到:
评论

相关推荐

    屏幕旋转180度 activity旋转180度 源代码

    在Android应用开发中,屏幕旋转是一个常见的需求,特别是在...理解这些机制并结合源代码示例,可以帮助开发者灵活地控制Activity在不同屏幕方向下的行为。记得在实际应用中,要确保用户体验的流畅性和界面的一致性。

    android获取屏幕分辨率

    3. **处理不同屏幕方向**:屏幕可能处于横屏或竖屏模式,可以通过`Display`对象的`getRotation()`方法获取当前的旋转角度。根据旋转角度调整分辨率的读取方式,以确保得到的是实际的宽度和高度。 ```java Display ...

    Android 屏幕旋转 处理 AsyncTask 和 ProgressDialog 的最佳方案

    在Android开发中,屏幕旋转(屏幕方向变化)是一个常见的用户交互事件,但处理不当会导致应用程序出现数据丢失、界面状态混乱等问题。尤其是当程序正在进行后台任务(如AsyncTask)或者显示ProgressDialog时,屏幕...

    Android应用源码获取手机屏幕尺寸的代码段.zip

    Android系统提供了`Configuration`类来获取当前的屏幕方向。可以通过`Activity`的`getResources().getConfiguration()`获取到`Configuration`对象,然后查看`orientation`字段: ```java Configuration config = ...

    Android获取在屏幕滑动速度的实例

    在Android开发中,有时我们需要获取用户在屏幕上的滑动速度,以便实现如滚动视图、滑动菜单等交互效果。本实例将详细讲解如何利用Android的VelocityTracker类来计算滑动速度。 首先,VelocityTracker是Android提供...

    强制改变屏幕方向的小工程

    在Android开发中,屏幕方向的切换是常见的需求,特别是在游戏或者特定应用中,开发者可能希望强制设备保持横屏或竖屏模式。这个"强制改变屏幕方向的小工程"提供了一个简单的解决方案,使得用户能够轻松实现这一功能...

    Android Dialog风格的Activity

    在Android开发中,Dialog风格的Activity是一种特殊类型的窗口,它以对话框的形式展现,通常用于显示临时信息或者需要用户进行简单交互的场景。本项目是一个使用Android Studio编写的示例,实现了将一个Activity以...

    android改变变屏幕方向.docx

    在Android开发中,屏幕方向是一个重要的考虑因素,因为它直接影响到用户体验和应用的视觉效果。本文将深入探讨Android系统中如何管理和控制屏幕方向。 首先,屏幕方向的设置主要针对`Activity`,开发者通常会在`...

    Android-Android根据OrientationEventListener获取设备的方向

    通过上述内容,你应该能够理解并实现如何使用`OrientationEventListener`来获取Android设备的方向变化。在实际项目中,结合这些知识点,你可以创建出更智能、更适应用户操作的应用。在`OrientationEventDemo-master`...

    屏幕方向锁定后自动旋转

    为了在屏幕方向改变时不重新创建Activity,需要在AndroidManifest.xml中对应的Activity标签中添加`android:configChanges="orientation|screenSize"`,然后在Activity中重写onConfigurationChanged()方法,在这里...

    Android开发:获取当前view的左右滑动事件

    本示例关注的是如何捕获并处理View的左右滑动事件,以便在用户滑动距离超过屏幕宽度的三分之一时,能够将此事件传递给Activity或Fragment。这通常用于实现页面切换、内容滚动或其他基于滑动手势的交互。 首先,我们...

    android两个Activity的转换

    9. **Activity的配置变更**:如果Activity的配置(如屏幕方向、语言等)发生改变,系统默认会重新创建Activity。开发者可以通过重写onConfigurationChanged(Configuration)方法来自定义处理方式,或者在Manifest中...

    android 滑动触摸屏幕事件

    该类提供了各种方法来获取触摸事件的相关信息,如触碰的位置、动作等。常见的触摸动作包括: - `ACTION_DOWN`:触摸屏幕开始。 - `ACTION_MOVE`:手指在屏幕上移动。 - `ACTION_UP`:手指离开屏幕。 这些动作可以...

    Android开发 旋转屏幕导致Activity重建解决方法

    当设备发生特定事件,比如屏幕旋转,系统为了适应新的配置(Configuration),会默认销毁当前Activity并重新创建,以确保界面布局和行为符合新的屏幕方向。这可能导致用户数据丢失,尤其是在用户正在进行操作时,如...

    android自适应屏幕布局

    Android提供了多种方式来检测屏幕方向,例如使用SensorManager来检测屏幕方向。 七、屏幕尺寸 屏幕尺寸是指屏幕的大小,例如分辨率、尺寸等。Android提供了多种方式来检测屏幕尺寸,例如使用DisplayMetrics来获取...

    在android屏幕上 上 下 左 右 四个方向移动法拉利(Image)

    标题中的“在android屏幕上 上 下 左 右 四个方向移动法拉利(Image)”意味着我们要探讨的是在Android平台上如何实现一个图像(如法拉利的图片)在屏幕上的四向移动功能。这个功能通常涉及到Android图形编程和触摸...

    Android获取屏幕方向及键盘状态的小例子

    在Android应用开发中,了解设备的屏幕方向和键盘状态是...以上就是关于Android获取屏幕方向及键盘状态的相关知识,通过合理利用这些API和技巧,开发者可以更好地适应不同设备和用户交互场景,提供更优质的用户体验。

    Android利用方向传感器获得手机的相对角度实例说明

    在Android开发中,方向传感器是一种重要的硬件传感器,用于检测设备相对于地球磁场的旋转角度。它提供了设备在3D空间中的姿态信息,可以帮助开发者构建各种基于移动设备方向的应用,如导航、游戏或者虚拟现实体验。 ...

    Android项目获取手机屏幕尺寸的代码段.rar

    以下将详细介绍如何在Android中获取屏幕尺寸,并提供相关源码解析。 首先,Android屏幕尺寸的单位通常为像素(px),但为了进行适配,我们通常会关心逻辑像素(dp)或者屏幕密度(dpi)。Android系统提供了多种方法...

Global site tag (gtag.js) - Google Analytics