Android 屏幕切换监听的实例代码
昨天,我试着在屏幕切换时,使View显示在不同的位置,在网上搜索了一些资料,自己做了一段时间,终于完成了功能。
由于屏幕切换会调用activity的各个生命周期,所以需要在manifest的activity属性加上代码
android:configChanges="keyboardHidden|orientation|screenSize|locale|layoutDirection"
然后重写onConfigurationChanged()
,加上自己的处理代码
@Override protected void onConfigurationChanged(Configuration newConfig) { super.onConfigurationChanged(newConfig); //=========切换屏幕时设置isPortrail的值,从而使PTZ在不同的位置显示 if (newConfig.orientation == this.getResources().getConfiguration().ORIENTATION_PORTRAIT) { isPortrail = true; ArrayViews(mCurArrayMode, true); } //切换为横屏 else if (newConfig.orientation == this.getResources().getConfiguration().ORIENTATION_LANDSCAPE) { isPortrail = false; ArrayViews(mCurArrayMode, true); } Log.e("onConfigurationChanged",""+"onConfigurationChanged"); }
代码中,我判断了横屏和竖屏的情况,让后显示不同的布局。
在自定义的View重写这个onConfigurationChanged()
,当屏幕切换时,会执行三次这段代码,原因我也不清楚。
相关推荐
-
封装的android监听手指左右滑动屏幕的事件类分享
左右滑动是智能手机最常用的动作,在此简单的封装了一下,以后直接拿来用就可以了. 简单的只需要几行就可以了,下面那个类是封装好了的. package com.example.test; import android.os.Bundle; import android.app.Activity; import android.content.Context; import android.util.Log; import android.widget.RelativeLayout; public c
-
Android 监听屏幕是否锁屏的实例代码
今天,简单讲讲如何监听手机屏幕是否锁屏. 实现方法: 1)通过BroadcastReceiver接收广播Intent.ACTION_SCREEN_ON和Intent.ACTION_SCREEN_OFF可以判断屏幕状态是否锁屏,但是只有屏幕状态发生改变时才会发出广播: 2)如果要在屏幕状态发生改变之前就想获取屏幕状态,可以通过反射机制调用PowerManager的isScreenOn方法 . 具体实现,见代码: 直接上代码: 1.定义一个接收广播的类 package com.app.lib; im
-
Android 屏幕切换监听的实例代码
昨天,我试着在屏幕切换时,使View显示在不同的位置,在网上搜索了一些资料,自己做了一段时间,终于完成了功能. 由于屏幕切换会调用activity的各个生命周期,所以需要在manifest的activity属性加上代码 android:configChanges="keyboardHidden|orientation|screenSize|locale|layoutDirection" 然后重写onConfigurationChanged(),加上自己的处理代码 @Override p
-
Avalonjs双向数据绑定与监听的实例代码
废话不多说了,直接给大家贴代码了,具体代码如下所示: <div class="content_table" ms-controller="checkname"> <table> <thead> <tr> <th width="15%">提交核名</th> <th width="85%">请提供您打算使用的3个公司名称,我们将帮您注册并向登记机关
-
android短信监听工具(示例代码)
在学习本实例之前,读者请先了解一下android四大组件中的"广播接收者"的基本概念和使用. 由于是"监听程序",所以就不需要建立Activity.这样也算是一种"遮掩"吧.使用BroadcastReceiver,就能达到这"不可告人"的目的.呵呵.当然,使用服务来开发此类应用,更加合适.这里就不再深入讨论"服务"了.本实例仅供学习参考,请勿非法用途. 复制代码 代码如下: package cn.itcas
-
Android电池电量监听的示例代码
监听电池状态只需要接收Intent.ACTION_BATTERY_CHANGED的广播即可,当电池状态发生变化时会发出广播. 1.运行状态如下图: 1.充电中的状态 2.未充电时的状态 2.实现代码如下,各个状态通过名字就很容易知道意思,BatteryManager类中定义了电池状态. public class MainActivity extends Activity { private static final String TAG = "MainActivity"; privat
-
Android Home键监听的实现代码
之前的一个项目需要监听home键的事件,发现用dispatchKeyEvent无法实现监听,后来查了些资料,才知道home键不能用常规的按键事件监听,需要使用广播的方法.下面是我封装的一个工具类.根据自己实际需要修改吧. 注册广播: HomeListener.getInstance().start(this); 移除广播 HomeListener.getInstance().stop(this); 设置监听回调 HomeListener.getInstance().setHomeKeyliste
-
Android 系统语言切换监听和设置实例代码
最近项目上产品经理提了个需求,要求关闭语言国际化,不管手机系统设置那个国家的语言,都要显示汉语,好吧,既然有需求,那就做吧.但是项目中已经有英文的配置了,且是作为默认String提供的,这么多翻译好的文字,直接删除掉替换成中文为默认String又感觉弃之可惜.故网上Google下解决方案.就开始往下看吧. 一.代码中动态设置应用显示语言(手动控制使用values-zh-rCN下字符串) 这个方法是通过改变Resource中的配置来实现的,代码如下: public static void init
-
Android 7.0 监听网络变化的示例代码
Android7.0前,Android系统前网络切换时,会发广播,业务只要监听广播即可. public class NetChangeReceiver extends BroadcastReceiver { private static final String ANDROID_NET_CHANGE_ACTION = "android.net.conn.CONNECTIVITY_CHANGE"; @Override public void onReceive(Context conte
-
Android 滑动监听的实例详解
Android 滑动监听的实例详解 摘要: ScollBy,ScollTo是对内容的移动,view.ScollyBy是对view的内容的移动 view,ScollTo是对内容的移动(移动到指定位置),view.ScollyBy是对view的内容的移动(移动距离) 在次activity中,当手指点击TextView ,此时是ViewGroup 响应还是TextView响应呢? 代码实践: 在activity中重写onTouchEvent(): public boolean onTouchEvent
-
Android 动态注册监听网络变化实例详解
Android 动态注册监听网络变化实例详解 新建一个BroadcastTest项目,然后修改MainActivity中的代码,如下: public class MainActivity extends AppCompatActivity { private IntentFilter intentFilter; private NetworkChangeReceiver networkChangeReceiver; @Override protected void onCreate(Bundle
随机推荐
- jQuery中创建实例与原型继承揭秘
- jQuery中.attr()和.data()的区别分析
- java连接mysql数据库的方法
- Python中使用SAX解析xml实例
- 多域名绑定到一个空间访问不同首页的技巧
- Android开发之开门狗在程序锁中的应用实例
- 深入理解Android之接口回调机制
- 详解nodeJS之二进制buffer对象
- 深入理解JavaScript中Ajax
- 关于图片的预加载过程中隐藏未知的
- win7怎么设定关闭显示器时间
- jquery.qrcode在线生成二维码使用示例
- jQuery中验证表单提交方式及序列化表单内容的实现
- Javascript 中的 call 和 apply使用介绍
- 超个性的导航效果
- php中http与https跨域共享session的解决方法
- Android微信Tinker热更新详细使用
- python中使用%与.format格式化文本方法解析
- opencv改变imshow窗口大小,窗口位置的方法
- angularjs的单选框+ng-repeat的实现方法