我们知道 android在屏幕旋转以后,有些情况会销毁当前的Activity. 也就是说从新启动个Activity. 然后 跑onCreate() onStart()等流程.
还有中情况是 屏幕旋转后,不从新启动这个Activity. 只做些动作.
第一中情况是正常情况的流程. 第二中情况是你在manifest.xml里注册了android:config后的动作,你告诉了喜欢,当哪写配置改变后会做什么.
那如何动态检测当前屏幕方向及大小呢?
public class orientation extends Activity {
TextView textview=null;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
textview=(TextView)findViewById(R.id.textview);
int screenwidth=getWindowManager().getDefaultDisplay().getWidth();
int screenheight=getWindochanger codewManager().getDefaultDisplay().getHeight();
Log.d("orient", "now the screen width is :"+screenwidth+"screen height is:"+screenheight);
int orient=getRequestedOrientation();
if (this.getResources().getConfiguration().orientation == Configuration.ORIENTATION_LANDSCAPE)
{
Log.d("orient", "now the screen orient is landscape");
}
else if (this.getResources().getConfiguration().orientation == Configuration.ORIENTATION_PORTRAIT)
{
Log.d("orient", "now the screen orient is portrait");
}
}
}
哎,这样就很明显了,问题的根源是配置改变,那就找配置信息.getResources().getConfiguration即可获得当前配置对象.
这样读就可以了.
当然getWindowManager().getDefaultDisplay().getHeight() getWidth()就获得了高度,宽度.获得值会随屏幕方向改变而改变.
分享到:
相关推荐
### JS 获取屏幕分辨率的方法 在Web开发中,获取用户的屏幕分辨率是实现响应式设计和优化用户体验的重要步骤之一。本文将详细介绍如何使用JavaScript来获取屏幕分辨率,并探讨这些信息如何帮助我们实现div元素的...
1. **获取当前屏幕方向**:使用`Display`对象的`getRotation()`方法可以获取到屏幕当前的旋转角度,结合` Surface.ROTATION_0`, `Surface.ROTATION_90`, `Surface.ROTATION_180`, `Surface.ROTATION_270`来判断是横...
- 在处理屏幕尺寸时,应考虑设备的屏幕方向,因为横屏和竖屏的宽度和高度可能会互换。 - 为了适配不同屏幕尺寸,可以使用Android的布局资源目录(如`layout-sw600dp`,`layout-sw720dp`),这些目录会根据设备的...
屏幕坐标通常以像素为单位,左上角被视为坐标系的原点(0,0),向右和向下增加表示x轴和y轴的正方向。 该压缩包包含以下文件: 1. "屏幕坐标获取工具0.1.exe" - 这是主要的程序文件,用户可以通过运行这个可执行...
本文将详细讲解如何使用jQuery获取屏幕的高度和宽度,这对于创建响应式网页设计或者根据屏幕尺寸调整元素布局至关重要。 首先,我们需要了解什么是屏幕高度和宽度。屏幕高度是指浏览器窗口可视区域的垂直尺寸,而...
//获取屏幕朝向 switch(o){ //判断屏幕当前朝向 case ActivityInfo.SCREEN_ORIENTATION_PORTRAIT: et.setText("当前屏幕朝向为:PORTRAIT"); break; case ActivityInfo.SCREEN_ORIENTATION_...
《使用LabVIEW获取屏幕坐标详解》 在LabVIEW编程环境中,获取屏幕坐标是一项常见的任务,尤其是在进行软件测试或用户界面设计时。LabVIEW作为一个强大的图形化编程语言,提供了丰富的功能来帮助开发者实现这一功能...
2. **屏幕方向检测**:Android系统提供了API来获取当前的屏幕方向,如`SensorManager.getRotationMatrix()`和`Display.getRotation()`。这些函数可以帮助我们判断设备是处于横屏还是竖屏。 3. **QT GUI更新**:当...
在Android应用开发中,了解设备的屏幕方向和键盘状态是...以上就是关于Android获取屏幕方向及键盘状态的相关知识,通过合理利用这些API和技巧,开发者可以更好地适应不同设备和用户交互场景,提供更优质的用户体验。
AutoJs源码-判断屏幕方向是横屏还是竖屏。本资源购买前提醒:本源码都是实际autojs项目模板,安装好autojs直接运行即可打开。1、支持低版本autojs。2、资源仅供学习与参考,请勿用于商业用途,否则产生的一切后果将...
3. **处理不同屏幕方向**:屏幕可能处于横屏或竖屏模式,可以通过`Display`对象的`getRotation()`方法获取当前的旋转角度。根据旋转角度调整分辨率的读取方式,以确保得到的是实际的宽度和高度。 ```java Display ...
在编程领域,尤其是在开发桌面应用或者游戏时,有时我们需要根据应用程序的需求动态地调整用户的屏幕方向或分辨率。在C#中,这可以通过Windows API调用来实现。本文将详细讲解如何使用C#来更改屏幕方向和修改分辨率...
x坐标表示水平方向,y坐标表示垂直方向,原点(0,0)一般位于屏幕的左上角。屏幕坐标获取工具能够帮助开发者获取鼠标在屏幕上的精确位置,这对于调试、设计用户界面或者进行图形绘制等任务来说非常有用。 在开发...
这个函数首先获取当前Activity的屏幕方向,然后根据宽高比判断是否需要调整。最后,根据当前方向切换到相反的模式。 在开发过程中,理解并灵活运用这些屏幕方向设置,可以提高应用的适应性和用户体验。例如,某些...
屏幕尺寸会随着设备方向的改变而变化,因此在页面旋转时,可能需要重新获取屏幕尺寸并调整布局。可以监听`orientationchange`事件来实现: ```javascript $(window).on('orientationchange', function() { var ...
在实际应用中,为了确保应用在各种屏幕尺寸上都有良好的表现,我们还需要考虑屏幕的宽高比和屏幕方向(横屏或竖屏)。可以使用`DisplayMetricsAspectJ`库来获取屏幕的宽高比,或者通过监听屏幕旋转事件来处理横竖屏...
JavaScript作为一种广泛应用于网页编程的语言,提供了多种方法来获取屏幕的高度、宽度以及其他相关信息。以下将深入探讨如何使用JavaScript来获取屏幕尺寸和其他关键信息。 ### 一、获取屏幕尺寸 #### 1.1 使用`...
在移动设备上,屏幕方向锁定是一项常见的功能,它允许用户固定设备的屏幕方向,通常是横向或纵向,以防止在不需要时因设备转动而自动切换屏幕布局。然而,有些应用程序或特定场景下,我们可能希望即使在屏幕方向锁定...
例如,`GetScreenOrientation()`函数是获取屏幕方向的主要接口,它可能返回一个枚举值,表示上述四种屏幕方向之一。开发者可以通过调用这个函数,实时监测屏幕状态的变化,从而更新UI布局或者调整应用的行为。 为了...
在许多IT领域,如软件开发、游戏编程、图形设计、自动化测试等,准确获取屏幕坐标是至关重要的。这款名为"mousexy--捕捉电脑屏幕坐标工具"的程序,正如其名,就是专为此目的设计的。 在软件开发中,特别是在用户...