一:不同的layout
Android手机屏幕大小不一,有480x320, 640x360, 800x480.怎样才能让App自动适应不同的屏幕呢?
其实很简单,只需要在res目录下创建不同的layout文件夹,比如layout-640x360,layout-800x480,所有的layout文件在编译之后都会写入R.java里,而系统会根据屏幕的大小自己选择合适的layout进行使用。
二:hdpi、mdpi、ldpi
在之前的版本中,只有一个drawable,而2.1版本中有drawable-mdpi、drawable-ldpi、drawable-hdpi三个,这三个主要是为了支持多分辨率。
drawable- hdpi、drawable- mdpi、drawable-ldpi的区别:
(1)drawable-hdpi里面存放高分辨率的图片,如WVGA (480x800),FWVGA (480x854)
(2)drawable-mdpi里面存放中等分辨率的图片,如HVGA (320x480)
(3)drawable-ldpi里面存放低分辨率的图片,如QVGA (240x320)
系统会根据机器的分辨率来分别到这几个文件夹里面去找对应的图片。
在开发程序时为了兼容不同平台不同屏幕,建议各自文件夹根据需求均存放不同版本图片。
三:横屏竖屏
以下步骤是网上流传的,不过我自己之前是通过图形化界面实现这个配置,算是殊途同归,有空我会把图片贴上来。
还要说明一点:每个activity都有这个属性screenOrientation,每个activity都需要设置,可以设置为竖屏(portrait),也可以设置为无重力感应(nosensor)。
要让程序界面保持一个方向,不随手机方向转动而变化的处理办法:
在AndroidManifest.xml里面配置一下就可以了。加入这一行android:screenOrientation="landscape"。
例如(landscape是横向,portrait是纵向):
显示代码打印
01 <?xml version="1.0" encoding="utf-8"?>
02 <manifest xmlns:android="http://schemas.android.com/apk/res/android"
03 package="com.ray.linkit"
04 android:versionCode="1"
05 android:versionName="1.0">
06 <application android:icon="@drawable/icon" android:label="@string/app_name">
07 <activity android:name=".Main"
08 android:label="@string/app_name"
09 android:screenOrientation="portrait">
10 <intent-filter>
11 <action android:name="android.intent.action.MAIN" />
12 <category android:name="android.intent.category.LAUNCHER" />
13 </intent-filter>
14 </activity>
15 <activity android:name=".GamePlay"
16 android:screenOrientation="portrait"></activity>
17 <activity android:name=".OptionView"
18 android:screenOrientation="portrait"></activity>
19 </application>
20 <uses-sdk android:minSdkVersion="3" />
21 </manifest>
另外,android中每次屏幕的切换动会重启Activity,所以应该在Activity销毁前保存当前活动的状态,在Activity再次Create的时候载入配置,那样,进行中的游戏就不会自动重启了!
有的程序适合从竖屏切换到横屏,或者反过来,这个时候怎么办呢?可以在配置Activity的地方进行如下的配置android:screenOrientation="portrait"。这样就可以保证是竖屏总是竖屏了,或者landscape横向。
而有的程序是适合横竖屏切换的。如何处理呢?首先要在配置Activity的时候进行如下的配置:android:configChanges="keyboardHidden|orientation",另外需要重写Activity的onConfigurationChanged方法。实现方式如下,不需要做太多的内容:
显示代码打印
@Override
public void onConfigurationChanged(Configuration newConfig) {
super.onConfigurationChanged(newConfig);
if (this.getResources().getConfiguration().orientation == Configuration.ORIENTATION_LANDSCAPE) {
// land do nothing is ok
} else if (this.getResources().getConfiguration().orientation == Configuration.ORIENTATION_PORTRAIT) {
// port do nothing is ok
}
分享到:
相关推荐
"android分辨率适配源码+apk包" 提供了一个解决这一问题的实例,它包含源码和可安装的APK应用,帮助开发者了解如何在Android应用中实现自适应不同分辨率的屏幕。 首先,我们来理解分辨率适配的基本概念。Android...
使用Android Studio提供的虚拟设备管理器(AVD Manager)创建各种分辨率和尺寸的模拟器进行测试,同时,也可以在实际设备上进行调试,确保应用在各种条件下表现良好。 综上所述,Android开发者可以通过合理利用...
本指南将深入探讨Android平台上的视频调试技术,帮助开发者优化视频播放体验,解决可能出现的问题。 首先,理解Android的多媒体框架至关重要。Android使用MediaPlayer类作为基础的视频播放组件,它提供了播放本地和...
Android Studio提供了一系列工具帮助开发者进行多分辨率适配,如设计视图、预览功能、虚拟设备管理器(AVD Manager)等,可以模拟不同尺寸和分辨率的设备,方便调试和测试。 七、VectorDrawable与SVG Android 5.0...
7. **设备适配**:在Android平台上,设备种类繁多,屏幕尺寸、分辨率、操作系统版本各不相同,因此调试过程中必须考虑设备适配问题,确保网页在各种设备上都能正常显示和运行。 8. **性能优化**:在调试过程中,还...
"测试手机分辨率的小Demo"就是一个专门用于检测Android设备实际分辨率的程序,它可以帮助开发者调试和优化应用程序的显示效果。 这个Demo的源码提供了以下关键知识点: 1. **屏幕尺寸与分辨率**:Android屏幕尺寸...
通过以上介绍,我们可以看到,Android分辨率管理是开发过程中的重要环节,合理的资源管理和适配策略对于提升应用质量至关重要。这个压缩包提供的不同分辨率的图片实例,是学习和实践这一概念的好材料。
8. **测试和调试**:利用Android模拟器和真实设备,覆盖多种屏幕尺寸和分辨率进行测试,确保应用在各种环境下表现良好。 通过以上方法,开发者可以构建出适应各种屏幕尺寸和分辨率的Android应用,提升应用的兼容性...
在Android开发过程中,适配不同分辨率的设备是一项重要的任务,因为Android设备的屏幕尺寸和像素密度千差万别。本文将深入探讨如何选择分辨率并自动生成对应的`dimen.xml`文件,以实现更加灵活和高效的资源适配。 `...
在Android开发中,确保应用程序的用户界面(UI)能在不同屏幕分辨率和尺寸的设备上正常显示和适应是一项重要任务。本教程将通过一个名为"HelloWord"的简单示例项目,探讨如何实现Android程序界面的自动适配屏幕...
### Android自适应不同分辨率的关键知识点 在Android应用开发中,实现界面自适应不同分辨率设备的能力是至关重要的。本文将从给定的文件信息出发,深入探讨Android如何处理不同分辨率下的界面适配问题,包括理解...
9. **测试与调试**:开发者应使用Android模拟器和真实设备进行广泛的测试,确保游戏在各种分辨率和尺寸的设备上都能正常运行和显示。 10. **适配Android系统版本**:随着Android系统的更新,新的屏幕尺寸和分辨率...
在Android开发中,面对各种不同尺寸和分辨率的设备,如何设计出适应性强、用户体验良好的界面是一项挑战。"Android多分辨率规格的界面设计"是开发者必须掌握的关键技能,它涉及到像素密度、屏幕尺寸、布局适配等多个...
在Android平台上,相机调试是一项关键任务,特别是在开发与相机功能紧密相关的应用时。本文将深入探讨如何进行Android相机调试,包括源码分析和使用工具,以优化相机性能和用户体验。 首先,了解Android相机的工作...
在Android开发过程中,屏幕适配是一项重要的工作,因为Android设备有着多样化的屏幕尺寸和分辨率。本文将详细讨论如何使用特定的工具,特别是针对"anrdroid测试屏幕分辨率"这一主题,来有效地测试和优化应用程序在...
查看设备信息:ADB提供了命令来查看设备的信息,包括设备型号、Android版本、屏幕分辨率等。 截屏和录屏:您可以使用ADB命令捕获Android设备的屏幕截图,也可以录制屏幕活动。 导出和导入数据库:ADB允许您从设备...
10. **测试与调试**:使用Android模拟器和真实设备进行测试,确保应用在各种屏幕尺寸和分辨率上表现良好。Google提供的Android Studio支持多种设备配置的模拟器,便于开发者进行广泛的兼容性测试。 遵循以上原则和...
《MT8788 Android 9.0调试RN6752M AHD摄像头补丁详解》 在移动设备开发领域,摄像头驱动的优化与调试是至关重要的环节,特别是对于那些依赖于高质量图像处理的设备来说。本文将深入探讨标题为“MT8788 android9.0...
在这个目录下,开发者可能创建了不同分辨率的布局文件或图片资源,以便在不同设备上进行测试和调试。 综上所述,这个压缩包提供的源码示例旨在帮助开发者理解并实现Android的多分辨率适配,区分手机和平板设备,...
### Android调试知识点详解 #### 一、Android调试概述 Android调试是软件开发过程中至关重要的一环,它能够帮助开发者快速定位并解决应用中的各种问题。在Android开发中,调试主要包括使用日志(Logcat)、设置断点...