禁止横屏和竖屏切换,横屏是防止再次启动activity

标签: 切换 activity | 发表时间:2012-04-07 11:08 | 作者:wangqilin8888
出处:http://blog.csdn.net

在写程序时,往往会遇到这样一个问题,在竖屏输入一些内容后,再横屏。对应的内容变化了。其实这个问题就是activity重启了,所引起的。以下有:禁止横屏和竖屏切换,不妨了解下。

其实实现这个要求很简单,只要在
AndroidManifest.xml 里面加入这一行 android :screenOrientation="landscape "(landscape 是横向,portrait 是纵向)。
在android中每次屏幕的切换动会重启Activity,所以应该在Activity销毁前保存当前活动的状态,在Activity再次Create的时候载入配置。在activity加上android:configChanges="keyboardHidden|orientation"属性,就不会重启activity.而是去调用onConfigurationChanged(Configuration newConfig).这样就可以在这个方法里调整显示方式.

MainActivity中:

 

	public void onConfigurationChanged(Configuration newConfig) {   
	        try {   
	            super.onConfigurationChanged(newConfig);   
	            if (this.getResources().getConfiguration().orientation == Configuration.ORIENTATION_LANDSCAPE) {   
	                Log.v("Himi", "onConfigurationChanged_ORIENTATION_LANDSCAPE");   
	            } else if (this.getResources().getConfiguration().orientation == Configuration.ORIENTATION_PORTRAIT) {   
	                Log.v("Himi", "onConfigurationChanged_ORIENTATION_PORTRAIT");   
	            }   
	        } catch (Exception ex) {   
	        }   
	    }  
public void onConfigurationChanged(Configuration newConfig) { 
  try { super.onConfigurationChanged(newConfig); 
if (this.getResources().getConfiguration().orientation == Configuration.ORIENTATION_LANDSCAPE) { 
Log.v("Himi", "onConfigurationChanged_ORIENTATION_LANDSCAPE"); 
} else if (this.getResources().getConfiguration().orientation == Configuration.ORIENTATION_PORTRAIT) { 
Log.v("Himi", "onConfigurationChanged_ORIENTATION_PORTRAIT"); 
} 
} catch (Exception ex) { 
} 
}   



 

 

 

作者:wangqilin8888 发表于2012-4-7 11:08:10 原文链接
阅读:9 评论:0 查看评论

相关 [切换 activity] 推荐:

[安卓]防止Activity在横竖屏切换时重新创建

- - 蓝飞技术部落格
这两天在写一个安卓应用内嵌 WebView 的小 Demo,其中需要支持 HTML5 视频的全屏播放,结果就卡在了横屏切换上,在切换到横屏时正在播放的视频就消失了,但声音还在,排查了许久发现是横屏时 Activity 会被重新创建,百度给的答案是在 AndroidManifest.xml 中对应的 activity 标签中增加属性:.

Activity嵌套多个Fragment实现横竖屏切换

- - CSDN博客推荐文章
       近期项目遇到个横竖屏切换的问题,较为复杂,在此记之.        1、Activity中竖屏嵌套3个Fragment,本文简称竖屏FP1,FP2,FP3.        2、其中竖屏FP1与FP2可以切换为横屏的FL1,FL2,即竖屏FP1切换到对应的横屏FL1,竖屏FP2对应切换到横屏FL2.

禁止横屏和竖屏切换,横屏是防止再次启动activity

- - CSDN博客推荐文章
在写程序时,往往会遇到这样一个问题,在竖屏输入一些内容后,再横屏. 其实这个问题就是activity重启了,所引起的. 以下有:禁止横屏和竖屏切换,不妨了解下. 其实实现这个要求很简单,只要在. AndroidManifest.xml 里面加入这一行 android :screenOrientation="landscape "(landscape 是横向,portrait 是纵向).

Android Activity与Service通信

- - CSDN博客移动开发推荐文章
一、当Acitivity和Service处于同一个Application和进程时,通过继承Binder类来实现.      当一个Activity绑定到一个Service上时,它负责维护Service实例的引用,允许你对正在运行的Service进行一些方法调用. 比如你后台有一个播放背景音乐的Service,这时就可以用这种方式来进行通信.

使用intent来启动activity

- - CSDN博客推荐文章
Intent最常见的用途是绑定应用程序组件,并在应用程序之间通信.Intent用来启动Activity,允许创建不同屏幕的一个工作流. 要创建并显示一个Activity,可以调用startActivity,并传递给它一个Intent,如:. 可以构造Intent来显示地指定要打开的Activity类,或者包含一个目标Activity必须执行的动作.

从网页启动Activity

- - 移动开发 - ITeye博客
正好Android SDK 给我们提供了解决方案,在网页中点击某个链接时,会匹配到Activity所配置的隐式Intent(配置在Manifest文件中). 第一步:在Manifest文件中给TestActivity配置一个隐式Intent. 第二步:这时,当在网页中点击链接Start TestActivity就会启动TestActivity了.

Activity生命周期详解

- - 编程语言 - ITeye博客
本文概述:针对一个例子详细阐述Activity的生命周期. Android是使用任务(Task)来管理活动的,一个任务就是一组存放在栈里的Activity的集合,这个栈也叫返回栈(Back Stack). 每次我们启动一个新的Activity,这个Activity就会入栈,并处于栈顶位置. 按下返回键或者finish()方法销毁一个Activity时,处于栈顶的Activity就会出栈,另一个Activity就会处于栈顶位置,显示给用户的就会是这个Activity..

activity、 intent 、intent filter、service、Broadcast、BroadcaseReceiver解释

- - CSDN博客推荐文章
Android中,Activity是所有程序的根本,所有程序的流程都运行在Activity之中,Activity具有自己的生命周期(由系统控制生命周期,程序无法改变,但可以用onSaveInstanceState保存其状态). 对于Activity,关键是其生命周期的把握(如那张经典的生命周期图=.=),其次就是状态的保存和恢复(onSaveInstanceState onRestoreInstanceState),以及Activity之间的跳转和数据传输(intent).

在Activity之间传递数据

- - ITeye博客
在一个Activity中启动另一个Activy,取得数据,如:在应用 A 中启动 通讯录,选择目标用户,返回,以便在A 中使用选择的通讯录数据,基本过程如下:.         /* 开启Pictures画面Type设定为image */.         intent.setType("image/*");  //通讯录的不能这样写,.

Activity劫持与用户防范

- - ITeye博客
本文内容多参考于网上博文,但代码及用户防范的方法均属原创,转载请注明出处 http://msdxblog.sinaapp.com/?p=623. 1、Activity调试机制. 在android系统中,不同的程序之间的切换基本上是无缝的,它们之间的切换只不过是Activity的切换. Activity的概念相当于一个与用户交互的界面.