我返现,90度横屏 旋转到270度横屏onConfigurationChanged 是收不到回掉的。尽管清单里面声明了什么:

android:configChanges=”orientation|keyboardHidden|navigation|screenSize|layoutDirection|smallestScreenSize|screenLayout|mnc”

没用。

那怎么办? 通过监听手机旋转,自己判断吧:

    private int mIsLandRightOrientation = -1;            //是否已经处于横屏状态,-1为未初始化,1为非左横屏(手机刘海朝左边的情况,即90度),2为右横屏(手机刘海朝右边的情况,及270度)

    private OrientationEventListener mOrientationEventListener; //旋转监听 因为异形屏需要知道横屏从90旋转到了270 而添加
private Display mDisplay; mOrientationEventListener = new OrientationEventListener(this, SensorManager.SENSOR_STATUS_ACCURACY_LOW){
@Override
public void onOrientationChanged(int orientation) {
int ro = orientation % 360;
// 设置横屏 260
if (((ro > 260) && (ro < 315))) {//当前手机刘海方向朝左边的情况
if (mIsLandRightOrientation == 2 || mIsLandRightOrientation == -1) {//如果说之前的方向是右边,往下处理 否则不处理
if (getScreenRotationOnPhone() == Surface.ROTATION_90) {//如果当前屏幕的布局方向是相左,说明屏幕旋转了 那么进去处理paddding
mIsLandRightOrientation = 1;
adjustPadding();
}
}
}else if((ro > 80 && ro < 135)){//手机刘海朝右边的情况
if (mIsLandRightOrientation == 1 || mIsLandRightOrientation == -1) {
if (getScreenRotationOnPhone() == Surface.ROTATION_270) {
mIsLandRightOrientation = 2;
adjustPadding();
}
}
}
}
};
mOrientationEventListener.enable(); private int getScreenRotationOnPhone() {
if (mDisplay == null) {
mDisplay = ((WindowManager) getSystemService(Context.WINDOW_SERVICE)).getDefaultDisplay();
}
return mDisplay!=null ? mDisplay.getRotation():-1;
}

原理就是通过监听手机旋转,然后在根据屏幕方向,精确判断手机横屏90度到270的转换。

Android onConfigurationChanged 收不到回调的更多相关文章

  1. android onConfigurationChanged讲解

    本文来自http://blog.csdn.net/liuxian13183/ ,引用必须注明出处! 相信大家对这个属性已经耳熟能详,如果大家受过转屏的折磨的话! 老规矩,先讲讲官方文档是怎么说的.为什 ...

  2. Android onConfigurationChanged的作用

    API原文说明: android:configChangesLists configuration changes that the activity will handle itself. When ...

  3. ZT ANDROID jni 中的事件回调机制JNIenv的使用 2012-09-10 12:53:01

    ANDROID jni 中的事件回调机制JNIenv的使用 2012-09-10 12:53:01 分类: 嵌入式 android framework 里java调用native,使用JNI机制,ja ...

  4. android onConfigurationChanged的那点事

    Android学习笔记——关于onConfigurationChanged   从事Android开发,免不了会在应用里嵌入一些广告SDK,在嵌入了众多SDK后,发现几乎每个要求在AndroidMan ...

  5. Android开发学习之路-回调机制学习笔记

    不知道是我学Java的时候没有认真听还是怎么的,曾经一直不知道什么是“回调”,它有什么用,百度一大堆,都太复杂看不明白(好吧是我笨),所以想把自己理解的分享给其他看到的人,大家都真正认识一下这个重要的 ...

  6. Android开发学习之路-回调实现Service向activity传递数据

    开启服务的时候,如果我们是通过bindService来绑定服务并且要向服务传递数据,可以直接在Intent中设置bundle来达到效果,但是如果是我们需要从服务中返回一些数据到Activity中的时候 ...

  7. Android onConfigurationChanged(Configuration cfg) 无法触发问题

     1.android:configChanges="orientation|keyboardHidden"的使用  当在activity加上android:configChange ...

  8. Android事件侦听器回调方法浅谈

    http://developer.51cto.com/art/201001/180846.htm Android事件侦听器作为视图View类的接口,其中包含有不少回调方法,比如:onClick():o ...

  9. Android中callback(接口回调)机制

    事实上,callback 机制在Android 中无处不在,特别是以Handler.Callback.Listener这三个词结尾的,都是利用callback机制来实现的.比方点击事件onClickL ...

随机推荐

  1. R.java文件无法自动生成的问题

    如果出现R.java文件无法自动生成的问题,同时Console窗口提示下列信息: Android requires compiler compliance level 5.0 or 6.0. Foun ...

  2. SPFieldLookupValue

    //得到查阅项的值SPWeb web = site.OpenWeb();SPList list = web.Lists["DemoList"];SPListItem item = ...

  3. Cholesky分解(Cholesky decomposition / Cholesky )

    Cholesky decomposition In linear algebra, the Cholesky decomposition or Cholesky is a decomposition ...

  4. Torch.no_grad()影响MSE损失

    相关描述 https://discuss.pytorch.org/t/torch-no-grad-affecting-outputs-loss/28595/3 今天在训练网络的时候,发现mseloss ...

  5. Association, Composition and Aggregation in UI5, CRM, S/4HANA and C4C

    UI5 UI5使用Association和Aggregation描述控件之间的关系. Aggregation:parent和子控件在lifecycle上存在依赖关系: When a ManagedOb ...

  6. Socket的基本使用步骤

    Socket的基本使用步骤 一.使用Socket,首先需要导入这几个系统头文件 #import <sys/socket.h> #import <netinet/in.h> #i ...

  7. python 字符串部分总结

    字符串 对于单个字符的编码,Python提供了ord()函数获取字符的整数表示,chr()函数把编码转换为对应的字符 >>> ord('A') 65 >>> ord ...

  8. hdu-2642 Stars---二维树状数组(细节处理)

    题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=2642 题目大意: B x y:将星星x y点亮 D x y:将星星x y熄灭 Q x1 x2 y1 ...

  9. 问题 A: E2 驾驭const

    题目描述 引入了const关键词,用于指定“常”对象及“常”对象成员,提供了对数据的一种保护机制,这C++语言的特色之一.但由此,也引出了一些语法上的要求.这些语法要求,实际上有一套完善的原则,需要熟 ...

  10. caffe RandomHue和RandomSaturation

    https://www.cnblogs.com/wangyblzu/p/5710715.html HSV和RGB一样是一种图像的颜色模型,h表示色调,s表示饱和度 1.RandomHue void R ...