1、Android手机屏幕大小不一,有480x320, 640x360, 800x480.怎样才能让App自动适应不同的屏幕呢?
drawable- hdpi、drawable- mdpi、drawable-ldpi的区别:
(1)drawable-hdpi里面存放高分辨率的图片,如WVGA (480x800),FWVGA (480x854)
(2)drawable-mdpi里面存放中等分辨率的图片,如HVGA (320x480)
(3)drawable-ldpi里面存放低分辨率的图片,如QVGA (240x320)
测试的时候可以设定模拟器的分辨率
知道了手机屏幕手机大小的分类以后,就开始着手设计自己的程序:
(a) 配置manifest
文档位置android-sdk-windows/docs/guide/topics/manifest/supports-screens-element.html,可以查看Multiple Screens Support.的设置,在manifest 中,加入supports-screens标签支持多种屏幕显示:
<manifest xmlns:android="http://schemas.android.com/apk/res/android"><supports-screens android:largescreens="true" android:normalscreens="true" android:smallscreens="true" android:resizable="true" android:anydensity="true"></supports-screens></manifest>
(b)创建自己的layout
系统会根据机器的分辨率来分别到这几个文件夹里面去找对应的图片。 还要在res目录下创建不同的layout文件夹,比如layout-640x360,layout-800x480,所有的layout文件在编译之后都会写入R.java里,而系统会根据屏幕的大小自己选择合适的layout进行使用。
在我的项目里创建的是layout-large,(注意!这里有个插曲,我创建好layout-large以后发现使用800.480的屏幕还是调用默认的layout,最后才发现layout-large里面所用的资源,一定要放入drawable-hdpi里面)
2、重力感应设置:常规的显示为HVGA-P(port),即分辨率为320x480如果使用横屏(land)。如果模拟器尚未启动,可以在Eclipse的项目Run as=>Open Run Dialog对话框中设置,如果android模拟器已经启动后,可以使用快捷键F12或Ctrl+F11来切换。
3、布局问题:如果不想让软件在横竖屏之间切换,最简单的办法就是在项目的 AndroidManifest.xml中找到你所指定的activity中加上android:screenOrientation属性,他有以下几个参数:
"unspecified"
默认值 由系统来判断显示方向.判定的策略是和设备相关的,所以不同的设备会有不同的显示方向.
"landscape"
横屏显示(宽比高要长)
"portrait"
竖屏显示(高比宽要长)
"user"
用户当前首选的方向
"behind"
和该Activity下面的那个Activity的方向一致(在Activity堆栈中的)
"sensor"
有物理的感应器来决定。如果用户旋转设备这屏幕会横竖屏切换。
"nosensor"
忽略物理感应器,这样就不会随着用户旋转设备而更改了 ( "unspecified"设置除外 )。
有的可能是程序设置的问题,如果想要屏幕保持竖屏,只设置android:screenOrientation,程序就回自动关闭。这时候可以通过设置android:configChanges="orientation|keyboardHidden" 来解决,activity的具体属性,
可以参考andriod doc:
/android-sdk-windows/docs/guide/topics/manifest/activity-element.html
4,http://java-admin.iteye.com/blog/730863上面还有几个方面比较详细,可以参考。
- 大小: 143.4 KB
分享到:
相关推荐
在Android开发中,面对各种不同尺寸和分辨率的设备,如何实现多分辨率适配是一个至关重要的问题。本篇文章将深入探讨Android系统如何处理不同分辨率的显示,并提供有效的适配策略。 一、Android屏幕分类 Android...
以上就是获取和显示Android设备屏幕分辨率的完整过程。在实际开发中,你应该考虑处理各种屏幕尺寸和密度,以确保应用的兼容性和用户体验。例如,使用布局权重、相对布局或约束布局来创建自适应的界面,同时使用资源...
本工具,名为“android屏幕分辨率适配,静态xml制作工具”,专门解决这一问题,帮助开发者快速、有效地生成适用于各种屏幕分辨率的XML布局文件。 在Android系统中,屏幕适配主要通过使用不同密度和尺寸的资源文件夹...
- **优先考虑主流分辨率**:尽管Android设备分辨率众多,但仍有一些主流分辨率较为常见,如720p、1080p,优先考虑这些分辨率的设计。 - **利用Android资源目录**:Android支持不同dpi目录下的资源加载,合理利用ldpi...
综上所述,Android开发者可以通过合理利用资源目录结构、尺寸单位、百分比布局和自定义视图等方式,解决多分辨率适配问题,确保应用在各种设备上都能提供一致且美观的用户体验。在开发过程中,充分考虑到各种屏幕...
1. **界面长度和高度值固定**:在早期设计中,界面的宽度和高度可能被设定为具体的数值(如800px×480px),这在不同分辨率的设备上会导致布局失真或内容显示不全。 2. **元素定位不准确**:登录框等UI元素的位置...
在Android中,分辨率分为物理分辨率和逻辑分辨率。物理分辨率是屏幕实际的像素数量,而逻辑分辨率则与设备的密度无关,用于应用程序布局。 二、DisplayMetrics类 在Android中,`DisplayMetrics`类提供了设备显示...
在Android开发过程中,适配不同分辨率的设备是一项重要的任务,因为Android设备的屏幕尺寸和像素密度千差万别。本文将深入探讨如何选择分辨率并自动生成对应的`dimen.xml`文件,以实现更加灵活和高效的资源适配。 `...
在Android开发中,获取屏幕硬件分辨率是至关重要的,因为这直接影响到应用的界面布局和用户体验。屏幕分辨率是指屏幕像素的密度,通常以宽度和高度的像素数表示。本篇文章将详细解析如何在Android中获取屏幕的硬件...
8. **自定义视图**:对于复杂的适配需求,可能需要编写自定义视图,通过编程方式动态计算和设置视图尺寸。 9. **Android Support Library / AndroidX**:使用支持库或AndroidX,开发者可以获得对早期版本Android的...
### Android分辨率屏含义及大小详解 #### 一、引言 在探讨Android设备的分辨率时,我们首先要理解分辨率的基本概念。分辨率是指屏幕上显示的像素数量,通常以宽度和高度的像素数来表示,如1920x1080。在Android...
在Android开发中,面对各种不同尺寸和分辨率的设备,如何实现多屏幕多分辨率的适配是开发者必须掌握的关键技能。Android系统提供了丰富的机制来帮助我们处理这个问题,使得应用能够在各种屏幕上正常显示,提供良好的...
总结起来,获取Android手机分辨率主要包括使用DisplayMetrics和Display类的方法,同时考虑屏幕密度、横竖屏切换以及屏幕尺寸分类等因素。理解并正确应用这些知识点,可以帮助开发者创建适应各种设备的高质量Android...
这两个布局继承自Android原生的FrameLayout和RelativeLayout,但添加了以百分比设置子视图大小的功能。通过使用百分比,开发者可以避免硬编码像素值,从而实现更加灵活和适应性的界面设计。 二、PercentFrameLayout...
本文将深入探讨如何实现Android应用的自适应多分辨率设计,涵盖布局、资源管理和配置文件的优化策略。 ### 一、布局资源目录的合理规划 Android系统支持开发者为不同屏幕尺寸和密度创建特定的布局资源文件。这是...
下面是关于Android自适应屏幕布局的详细知识点: 一、布局文件 在Android中,布局文件是用来描述用户界面的布局结构的XML文件。这些文件通常以.xml结尾,例如activity_main.xml。布局文件中可以包含多种控件,例如...
http://blog.csdn.net/ddnosh/article/details/78941302
在Android开发中,确保应用程序的用户界面(UI)能在不同屏幕分辨率和尺寸的设备上正常显示和适应是一项重要任务。本教程将通过一个名为"HelloWord"的简单示例项目,探讨如何实现Android程序界面的自动适配屏幕...
在Android开发中,获取设备屏幕的分辨率是一项基本且重要的任务,这有助于我们为不同尺寸的设备提供良好的适配和用户体验。本篇文章将详细介绍如何在Android系统中获取屏幕分辨率,并探讨DisplayMetrics类的相关知识...
在Android开发中,屏幕分辨率是决定应用视觉效果和用户体验的关键因素之一。Android系统支持多种不同的屏幕尺寸和分辨率,以适应广泛的设备类型,包括手机、平板电脑以及智能电视等。了解和适配这些不同分辨率对于...