`
berdy
  • 浏览: 513261 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

Android中屏幕相关的操作

阅读更多
这里总结下android中关于手机屏幕的相关操作:
1、获取屏幕的分辨率(因为android中处理显示的时候,需要根据屏幕分辨率的不同才去不同的布局或显示不同的素材)
// 通过WindowManager获取
DisplayMetrics dm = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(dm);
System.out.println("heigth : " + dm.heightPixels);
System.out.println("width : " + dm.widthPixels);
// 通过Resources获取		
DisplayMetrics dm2 = getResources().getDisplayMetrics();
System.out.println("heigth2 : " + dm2.heightPixels);
System.out.println("width2 : " + dm2.widthPixels);	
// 获取屏幕的默认分辨率
Display display = getWindowManager().getDefaultDisplay();
System.out.println("width-display :" + display.getWidth());
System.out.println("heigth-display :" + display.getHeight());

2、去掉屏幕标题及全屏显示
// 去掉标题
requestWindowFeature(Window.FEATURE_NO_TITLE);
// 设置全屏
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
		WindowManager.LayoutParams.FLAG_FULLSCREEN);

3、设置屏幕的风向
在Manifest.xml文件中配置Activity的属性
<activity android:name=".AnimateActivity" android:label="@string/app_name"
	android:screenOrientation="landscape"><!--landscape 横屏 portrait 竖屏-->
	<intent-filter>
		<action android:name="android.intent.action.MAIN" />
		<category android:name="android.intent.category.LAUNCHER" />
	</intent-filter>
</activity>

在程序中控制,一般在Activity中的onCreate、onDestroy方法中控制,因为在屏幕方向发生变化时,
系统会重新启动Activity。所以需要再Activity销毁前保存相关数据,方便在下次onCreate方法中
重新加载,并更新屏幕的布局
public void onCreate(Bundle savedInstanceState) {
	//强制横屏
	setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
	// TODO 更新屏幕布局
}

public void onDestroy() {
	if(getRequestedOrientation() ==
			ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE){
		// 保存数据
	}else if(getRequestedOrientation() ==
			ActivityInfo.SCREEN_ORIENTATION_PORTRAIT){
		// 保存数据
	}
}
分享到:
评论
1 楼 lynen 2011-05-21  
在onDestroy中保存数据能否成功还真没有试过。。。
个人常用的数据保存方式是在onSaveInstanceState完成,然后再onCreate中通过bundle获取~

相关推荐

    Android中唤醒屏幕

    在Android系统中,唤醒屏幕是一项重要的功能,尤其在开发涉及定时任务或通知的应用时,如闹钟应用。本文将深入探讨如何通过代码实现这一功能,而不是依赖物理的电源键。 一、权限配置 首先,为了能够控制设备的屏幕...

    android jni 屏幕截图 NativeScreenCapture

    在`pixelflinger.h`头文件中,包含了处理像素格式转换和图像操作的相关API,这些API在屏幕截图的实现过程中可能会被用到。 4. **format.h**:此文件可能是自定义的格式定义,用于定义屏幕截图时可能涉及的各种图像...

    android实现屏幕画笔工具

    总结来说,实现一个Android屏幕画笔工具需要掌握Android的图形绘制API、触摸事件处理、用户交互设计、资源管理以及性能优化等多个方面的知识。通过不断的实践和优化,可以创建出功能丰富、体验优秀的画笔应用。

    android手机屏幕共享软件

    在提供的ASM_2_30文件中,可能包含了该屏幕共享软件的源代码、资源文件和其他相关组件。分析和学习这些文件,开发者可以深入了解屏幕共享的实现细节,比如如何与Android系统交互、如何处理网络传输中的异常,以及...

    android点击图标关闭屏幕

    在Android操作系统中,点击图标关闭屏幕这一功能涉及到的是应用程序与系统交互、用户界面设计以及电源管理等多个方面。这里我们将深入探讨实现这一功能所涉及的技术点和步骤。 首先,要理解Android系统的应用程序...

    Android-Android屏幕共享共享你的屏幕和音频到另一台手机

    在这个"Android-Android屏幕共享共享你的屏幕和音频到另一台手机"的项目中,我们将深入探讨如何实现这一功能。 首先,我们要明白屏幕共享涉及到的主要组件和技术: 1. **SurfaceView与TextureView**: 在Android中...

    android截取屏幕图片

    通过分析和理解这些代码,你可以更好地掌握Android屏幕截图的功能,并将其应用到自己的应用中。 总之,Android提供了一套相对简单的接口来截取屏幕图片并保存到外部存储。开发者需要理解权限管理的变化,并根据不同...

    android屏幕的切换

    综上所述,Android屏幕切换涉及到多个方面,包括配置文件设置、动态编程、资源适配、生命周期管理等。理解并熟练运用这些知识点,可以帮助开发者构建出适应各种屏幕尺寸和方向的应用,从而提升用户体验。

    Android屏幕大小和精度

    在Android系统中,屏幕大小...总之,理解并掌握Android屏幕大小和精度的相关概念,对于开发出高质量、兼容性强的应用至关重要。通过合理的资源管理和布局设计,开发者可以为所有Android用户提供一致且优秀的视觉体验。

    Android-android操作录制操作回放

    在Android平台上,操作录制与操作回放是一种强大的功能,它允许开发者或用户记录一系列的屏幕交互,然后可以重复播放这些操作,这对于自动化测试、教学演示或者应用预览都非常有用。在本文中,我们将深入探讨这一...

    android 自适应屏幕翻转

    要在Android应用中启用屏幕自适应翻转,开发者需在`AndroidManifest.xml`文件中对应Activity的配置中添加`screenOrientation="sensor"`属性。例如: ```xml android:name=".MainActivity" android:label="@...

    android屏幕取词简单事例1

    在这个“android屏幕取词简单事例1”中,我们将探讨如何在Android环境中实现这个功能。 首先,屏幕取词的核心是光学字符识别(OCR,Optical Character Recognition)。OCR技术能够将图像中的文字识别为可编辑的文本...

    android屏幕切换项目

    在这个“android屏幕切换项目”中,我们主要关注的是如何有效地实现屏幕间的过渡,以及如何利用单选按钮进行用户交互,并处理不同内容间的跳转。 首先,让我们深入了解屏幕切换的概念。在Android中,屏幕通常被称为...

    android屏幕适配方案

    以下是一些关键的Android屏幕适配策略和技术: 1. **使用比例和相对布局(Relative Layout)**: - 不直接使用绝对像素值,而是使用比例(dp/dip)来定义控件大小,这样在不同密度的屏幕上会自动调整。 - 相对...

    Android屏幕适配资源

    本资源包"Android屏幕适配资源"专注于解决这一问题,提供了values资源,能够帮助开发者轻松实现不同屏幕尺寸的适配。接下来,我们将详细讨论Android屏幕适配的核心概念、方法以及如何使用此资源包。 一、屏幕适配的...

    android 接收屏幕广播例子

    本文将详细讲解如何在Android中创建一个接收屏幕状态改变广播的示例。 首先,我们需要理解Android中的广播。广播是Android系统用来在不同应用之间传递消息的一种机制。系统会发送各种类型的广播,例如设备启动、...

    android 判断程序无操作3秒后自动进入图片轮播

    在Android开发中,有时我们需要实现一个功能,当用户在应用中一段时间内没有进行任何操作时,系统自动触发某个行为,例如进入图片轮播模式。这个功能可以提高用户体验,特别是对于那些需要展示信息或者吸引用户注意...

    Android 屏幕旋转Demo

    这个"Android屏幕旋转Demo"应该是为了演示如何在Android应用中处理屏幕方向的变化。在Android系统中,屏幕旋转涉及到多个方面,包括配置变更、Activity生命周期管理、布局适配以及资源的加载。以下是对这些关键知识...

    android监听双击屏幕

    在Android开发中,实现"双击屏幕"的功能是一项常见的需求,比如用来切换应用状态或执行特定操作。这个功能的关键在于监听用户的触摸事件,并通过算法判断是单击还是双击。以下将详细介绍如何在Android中实现这个功能...

Global site tag (gtag.js) - Google Analytics