Android 判断屏幕方向一个大坑】的更多相关文章

正常的判断屏幕方向的代码: /** 获取屏幕是否是竖屏 * @return */ @SuppressLint("SwitchIntDef") public boolean isScreenPortrait(){ int or = getRequestedOrientation(); switch (or) { case ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE :// 横屏 case ActivityInfo.SCREEN_ORIENTATIO…
一:不同的layout Android手机 屏幕 大小不一,有480x320, 640x360, 800x480.怎样才能让App自动 适应不同的屏幕 呢?      其实很简单,只需要在res目录下创建不同的layout文件 夹,比如layout-640x360,layout-800x480,所有的layout文件在编译 之后都会写入R.java里,而系统 会根据屏幕 的大小自己选择合适的layout进行使用.   二:hdpi.mdpi.ldpi 在之前的版本中,只有一个drawable,而…
由于做一个项目,需要判断屏幕是否锁屏,发现网上方法很多,但是比较杂,现在进行总结一下: 总共有两类方法: 一.代码直接判定 二.接收广播 现在先说第一类方法(代码直接判定): 1.通过PowerManager的isScreenOn方法,代码如下: ? 1 2 PowerManager pm = (PowerManager) context.getSystemService(Context.POWER_SERVICE); boolean isScreenOn = pm.isScreenOn();/…
设置方法:在AndroidManifest.xml中的Activity里加一个属性android:screenOrientation.例如设置该Activity为横向 <activity android:name=".Login"android:screenOrientation="landscape"></activity> screenOrientation的值有以下几种:landscape:横向portrait:纵向unspecifie…
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);//通过程序改变屏幕显示的方向 1.landscape:横屏(风景照) ,显示时宽度大于高度: 2.portrait:竖屏 (肖像照) , 显示时 高 度大于 宽 度 : 3.user:用户当前的首选方向: 4.behind:继承Activity堆栈中当前Activity下面的那个Activity的方向: 5.sensor:由物理感应器决定显示方向,它取决于用户如…
有两种方法可以判断 1,程序刚开始运行的时候,不能获取当前方向.给你说几种方式,你试一下: 1. 可以在启动后0.01秒执行初始化的代码,这个时候就可以获取设备方向了. 2. 另外一种方式,借助状态栏的方向: UIInterfaceOrientation orientation = [[UIApplication sharedApplication] statusBarOrientation]; 3. 你可以通过获取控件所属controller的界面方向,使得相关控件的方向与其controlle…
package com.example.orientation; import android.os.Bundle; import android.util.Log; import android.view.View; import android.widget.Button; import android.widget.TextView; import androidx.appcompat.app.AppCompatActivity; public class MainActivity ext…
方法一:使用系统服务 PowerManager pm= (PowerManager) mContext.getSystemService(Context.POWER_SERVICE); if(!pm.isScreenOn()) { //熄屏状态 } 方法二:使用广播 public class ScreenReceiver extends BroadcastReceiver { @Override public void onReceive(Context context, Intent inte…
PowerManager pm = (PowerManager) context.getSystemService(Context.POWER_SERVICE); boolean screen = pm.isScreenOn();…
Android内置了方向感应器的支持.Android会根据所处的方向自动在竖屏与横屏间切换.但是有的应用程序只能在横/竖屏时运行,比如某些游戏,此时我们要锁定该Activity运行时的屏幕方向,<activity>节点的android:screenOrientation属性可以完成该项任务 1.设置屏幕方向---设置全屏---设置窗体模式 A.设置屏幕方向: * 1.Androidmanifest.xml设置,android:screenOrientation="landscape&…
LANDSCAPE与PORTRAIT 范例说明 要如何通过程序控制Activity的显示方向?在Android中,若要通过程序改变屏幕显示的方向,必须要覆盖 setRequestedOrientation()方法,而若要取得目前的屏幕方向,则需要访问getRequestedOrientation()方 法. 本 范例为求简要示范更改做法,设计了一个按钮,当单击按钮的同时,判断当下的屏幕方向,例如竖排(PORTRAIT),则将其更改为横排 (LANDSCAPE);若为横排(LANDSCAPE),则…
Android 判断一个 View 是否可见 getLocalVisibleRect(rect) 与 getGlobalVisibleRect(rect) [TOC] 这两个方法的区别 View.getGlobalVisibleRect(rect); //以屏幕 左上角 为参考系的 View.getLocalVisibleRect(rect); //以目标 View 左上角 为参考系 鉴于这一点的区别,View.getLocalVisibleRect(rect) 的 rect.left恒等于 0…
一.处理屏幕方向变化的两种技术 1.锚定方法 2.调整大小和重新定位,这种方法一般是分别为横向和纵向两种模式各自定义用户界面xml界面文件,当方向变化时读取对应的界面配置文件即可. 二.检测屏幕方向改变 有时候在运行的时候需要判断设备的 当前方向,这时候一般用用WindowManager类来实现. 实现方法如下: WindowManager wm = getWindowManager(); Display display = wm.getDefaultDisplay(); if(display.…
非常多新手程序员做出一个游戏后,编译成apk安装在手机上.却发现安装程序名和游戏图标都是Cocos2dx默认的,并且默认屏幕方向是横向.那么须要怎么才干改动为自己想要的呢? 打开你创建的project-找到proj.android,找到AndroidManifest.xml并编辑: <?xml version="1.0" encoding="utf-8"? > <manifest xmlns:android="http://schemas…
现在我们的手机一般都内置有方向感应器,手机屏幕会根据所处位置自动进行横竖屏切换(前提是未锁定屏幕方向).但有时我们的应用程序仅限在横屏或者竖屏状态下才可以运行,此时我们需要锁定该程序Activity运行时的屏幕方向.还有就是在我们用手机观看视频时,随意的进行横竖屏切换,但播放进度不会随着屏幕的转换而从头开始播放,为了实现这个功能,我们就需要在Activity转换时对当前数据进行保存. 现在根据以上两种需求,个人提出以下解决方案: 一.锁定Activity运行时屏幕方向,如下图(演示锁定横屏):…
屏幕方向 是对Activity而言的,所以你可以在AndroidManifest.xml 文件中,通过<activity> 标记的screenOrientation 属性进行设定,例如: <activity android:name=".SketchpadActivity" android:screenOrientation="landscape"/><!--让该Activity总是显示为横屏--> screenOrientati…
开发后台服务的时候经常需要对屏幕状态进行判断,如果是想要监听屏幕解锁事件,可以在配置里面注册action为 android.intent.action.USER_PRESENT的广播,则可以监听解锁事件.但有时候,在后台执行某个操作时,需要主动判断屏幕的状态,比如是否是亮着的,可以使用PowerManager的isScreenOn方法进行判断,比如屏幕是否开启了自动旋转等. 注册监听解锁广播: 1 2 3 4 5 <receiver android:name="com.home.tests…
问题分类 滑动屏幕打开相应功能操作. 问题描述 1.用户手动滑动屏幕,根据滑动的方向,打开相应的功能(如:向上滑摇钱树经验明细,向下滑打开任务明细,向左滑打开聚宝盆物品查看等功能),滑动事件捕获问题. 2.大家都知道,划动都有角度问题,如:向330度方向滑动手机,要计算出它的方向问题. 3.HTML5提供的滑动事件,只能读取到起点和终点坐标,计算角度问题. 4.手机屏幕坐标与标准坐标系转换问题. 解决方案 1.滑动屏幕事件使用Html5 的touchstart滑动开始事件和touchend滑动结…
有的场景下.我们须要把手机屏幕方向改变,以下是我写的一个样例. xml页面文件: <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"     xmlns:tools="http://schemas.android.com/tools"     android:layout_width="match_parent"     android:lay…
一.概述 运行时变更就是设备在运行时发生变化(例如屏幕旋转.键盘可用性及语言).发生这些变化,Android会重启Activity,这时就需要保存activity的状态及与activity相关的任务,以便恢复activity的状态. 为此,google提供了三种解决方案: 对于少量数据: 通过onSaveInstanceState(),保存有关应用状态的数据. 然后在 onCreate() 或 onRestoreInstanceState() 期间恢复 Activity 状态. 对于大量数据:用…
1.基本概念 屏幕大小(screen size) – 屏幕的实际大小,用屏幕对角线长度来衡量(比如3.4寸,3.8寸).android把屏幕分为以下4种:small,normal,large,extra large.怎么判断? 屏幕密度(Screen Density) -  一 块实际的屏幕区域有多少个像素,一般用dpi衡量(每英寸有多少个点).相比起medium.high屏幕密度的设备,在一块确定大小的屏幕区域l密度为 low的屏幕拥有的像素更少.android把屏幕密度分为4种:low,me…
为什么要进行屏幕适配.对哪些设备进行适配?在近几年的发展当中,安卓设备数量逐渐增长,由于安卓设备的开放性,导致安卓设备的屏幕尺寸大小碎片化极为严重.从[友盟+]2016年手机生态发展报告H1中看截止16年手机分辨率使用情况:Android设备720p和1080p是主流,如果对前5中Android设备分辨率进行适配就能让app在90%的安卓设备上比较美观的兼容. 涉及重要概念及关系 1.硬件属性 ── 屏幕尺寸.屏幕分辨率.屏幕像素密度 [屏幕尺寸]:屏幕对角线长度.单位是英寸,1英寸=2.54厘…
众所周知,iOS中提供了[UIDevice currentDevice].orientation与[UIApplication sharedApplication].statusBarOrientation这两种方式来获取设备的屏幕方向. 其中UIDeviceOrientation包括以下几种枚举值 typedef NS_ENUM(NSInteger, UIDeviceOrientation) { UIDeviceOrientationUnknown, UIDeviceOrientationPo…
转载:http://blogread.cn/it/article/7765?f=wb#original 代码示例:https://github.com/johnlui/Swift-On-iOS/tree/master/ControlOrientation/ControlOrientation 环境要求:Xcode 7 / Swift2.0 前两天遇到了一个 “使用指定的不同屏幕方向打开新页面” 的需求,需求很简单:APP 一直保持竖屏,要求新打开的页面能够指定为横屏或竖屏,并且不允许自动切换,新…
Android开发文档上专门有一小节解释这个问题.简单来说,Activity是负责与用户交互的最主要机制,任何“设置”(Configuration)的改变都可能对Activity的界面造成影响,这时系统会销毁并重建Activity以便反映新的Configuration. “屏幕方向”(orientation)是一个Configuration,通过查看Configuration类的javadoc可以看到其他Configuration还有哪些:如fontScale.keyboardHidden和lo…
android屏幕适配详解 官方地址:http://developer.android.com/guide/practices/screens_support.html 转自:http://www.cnblogs.com/error404/p/3815739.html#commentform 一.关于布局适配建议 1.不要使用绝对布局 2.尽量使用match_parent 而不是fill_parent . 3.能够使用权重的地方尽量使用权重(android:layout_weight) 4.如果…
Android 禁止屏幕旋转 & 旋转屏幕时保持Activity内容   1.在应用中固定屏幕方向.        在AndroidManifest.xml的activity中加入:            android:screenOrientation=”landscape”      属性即可(landscape是横向,portrait是纵向).   OK     2.随屏幕旋转时,不重新调用onCreate.   当将手机屏幕旋转时,系统会被强制重置启动onCreate方法.   1)修…
http://www.jcodecraeer.com/a/anzhuokaifa/androidkaifa/2012/1009/425.html 带有g-sensor的Android设备上可通过API获取到设备的运动加速度,应用程序通过一些假设和运算,可以从加速度计算出设备的方向 获取设备运动加速度的基本代码是: SensorManager sm = (SensorManager) context.getSystemService(Context.SENSOR_SERVICE); sm.regi…
一.禁止屏幕旋转 在AndroidManifest.xml的每一个需要禁止转向的Activity配置中加入android:screenOrientation属性: 可选项: landscape = 横向 portrait = 纵向 二.避免转屏时重启Activity android中每次屏幕方向切换时都会重启Activity,所以应该在Activity销毁前保存当前活动的状态,在Activity再次 Create的时候载入配置,这样就不会丢失之前的进度了: 通过在AndroidManifest.…
1.1概述 Android4.0,Androd4.4源代码能够编译成手机模式和平板模式,讯为iTop4412 开发平台 的Android系统默认编译为平板模式.客户须要依据自己的产品设计及应用环境,切换屏幕 的显示方向,或者固定好一个显示方向,比如产品中使用不同分辨率的显示屏,或者显示屏 在产品中的固定方向发生改变等等,都须要进行屏幕旋转功能.  那么怎样设置屏幕的旋转 呢?我们提供两种方式满足客户的这一需求. 1.2  安装屏幕旋转APK 迅为公司公布的  Android4.4镜像中含有  S…