如何让app适应不同分辨率(转)
本帖最后由 songshichao 于 2011-8-12 22:34 编辑
如何让app适应不同分辨率(转)
这篇文章是我们安卓巴士的管理员回答一个朋友的问题时贴出来的,我转过来,给大家看看,学习学习,看的多了,想的多了,自然就懂的多了。
给你找的一篇不知道有没有用:http://www.apkbus.com/forum.php?mod=viewthread&tid=4469&extra=page%3D1
1、不同的layout
Android手机屏幕大小不一,有480x320,640x360,800x480.怎样才能让App自动适应不同的屏幕呢? 其实很简单,只需要在res目录下创建不同的layout文件夹,比如:layout-640x360,layout-800x480,所有的layout文件在编译之后都会写入R.java里,而系统会根据屏幕的大小自己选择合适的layout进行使用。2、hdpi、mdpi、ldpi前的版本中,只有一个drawable,而2.1版本中有drawable-mdpi、drawable-ldpi、drawable-hdpi三个,这三个主要是为了支持多分辨率。
drawable- hdpi、drawable- mdpi、drawable-ldpi的区别:
drawable-hdpi里面存放高分辨率的图片,如WVGA (480x800),FWVGA (480x854)
drawable-mdpi里面存放中等分辨率的图片,如HVGA (320x480)
drawable-ldpi里面存放低分辨率的图片,如QVGA (240x320)
系统会根据机器的分辨率来分别到这几个文件夹里面去找对应的图片。在开发程序时为了兼容不同平台不同屏幕,建议各自文件夹根据需求均存放不同版本图片。
屏幕方向
1、横屏竖屏自动切换可以在res目录下建立layout-port和layout-land两个目录,里面分别放置竖屏和横屏两种布局文件,这样在手机屏幕方向变化的时候系统会自动调用相应的布局文件,避免一种布局文件无法满足两种屏幕显示的问题。
2、禁用自动切换
只需要在AndroidManifest.xml文件中加入android:screenOrientation属性限制。
Android:screenOrientation="landscape" //是限制此页面横屏显示
Android:screenOrientation="portrait" //是限制此页面数竖屏显示
字体自适应大小
方法1:
首先根据不同分辨率获取不同字体大小。
在RES里创建
values-480x320/strings.xml 里面设置<dimen name="Text_size">30px</dimen>
和 values-800x400/strings.xml 里面设置<dimen name="Text_size">30px</dimen>
分别代表480X320 和 800X400分辨率情况下字号为30px和40px;
在java文件中这样调用
int sizeOfText = (int) this.getResources().getDimension(R.dimen.Text_size);
方法2:
在视图的 onsizechanged里获取视图宽度,一般情况下默认宽度是320,所以计算一个缩放比率rate = (float) w/320 w是实际宽度
然后在设置字体尺寸时 paint.setTextSize((int)(8*rate)); 8是在分辨率宽为320 下需要设置的字体大小实际字体大小 = 默认字体大小 x rate
转自http://apkbus.com/archiver/?tid-10459.html
分享到:
相关推荐
本工具,名为“android屏幕分辨率适配,静态xml制作工具”,专门解决这一问题,帮助开发者快速、有效地生成适用于各种屏幕分辨率的XML布局文件。 在Android系统中,屏幕适配主要通过使用不同密度和尺寸的资源文件夹...
### Android分辨率屏含义及大小详解 #### 一、引言 在探讨Android设备的分辨率时,我们首先要理解分辨率的基本概念。分辨率是指屏幕上显示的像素数量,通常以宽度和高度的像素数来表示,如1920x1080。在Android...
"android分辨率适配文件生成"这个话题就是针对这个问题提出的一种解决方案。Android系统支持多种屏幕尺寸和分辨率,包括小屏、中屏、大屏以及超大屏,对应的像素密度有ldpi(低密度)、mdpi(中密度)、hdpi(高密度...
"android分辨率适配源码+apk包" 提供了一个解决这一问题的实例,它包含源码和可安装的APK应用,帮助开发者了解如何在Android应用中实现自适应不同分辨率的屏幕。 首先,我们来理解分辨率适配的基本概念。Android...
这个"android分辨率xml生成工具"的源码module就是为了简化这一过程而设计的。它允许开发者快速为各种屏幕尺寸生成相应的资源文件,提高开发效率。 首先,我们需要理解Android系统如何处理屏幕分辨率。Android支持...
### Android分辨率完美适应详解 在Android应用开发过程中,面对各种屏幕尺寸和分辨率的设备,确保应用界面能够完美适配每一种设备,是一项重要的任务。本文将深入探讨Android应用如何实现分辨率的完美适应,涵盖...
本文将介绍一种处理Android分辨率适配的方法,通过自定义一个`LayoutInformation` JavaBean类来存储和处理View的布局信息,从而实现更加灵活的适配。 首先,让我们深入理解Android屏幕适配的关键概念: 1. **密度...
在Android开发中,了解并处理屏幕分辨率是一项基本且重要的任务。屏幕分辨率关乎用户界面的显示效果,直接影响到应用的用户体验。下面将详细讲解如何在Android系统中获取屏幕分辨率,并通过一个简单案例进行演示。 ...
分辨率
android4.x系统占比69.2%,已经成为绝对主流。其中4.1占比最高,为36.5%。今年七月这两项数据分别是61.2%、32.3%。 2)android2.3仍占有28.5%,但下降趋势明显(今年七月的数据为34.1%)。
在Android开发中,面对不同设备的屏幕尺寸和分辨率,开发者需要进行有效的适配工作,以确保应用在各种设备上都能有良好的用户体验。本压缩包文件提供了关于如何在Android平台上进行多分辨率适配、判断设备是平板还是...
在Android开发中,屏幕分辨率是决定应用界面显示效果的关键因素之一。不同的设备有着不同的屏幕尺寸和像素密度,因此,测试手机分辨率对于确保应用在各种设备上都有良好的视觉体验至关重要。"测试手机分辨率的小Demo...
在Android开发中,面对众多不同分辨率的设备,开发者必须采取有效的多分辨率解决方案,以确保应用程序在各种设备上都能提供良好的用户体验。以下将详细介绍Android多分辨率适应的策略。 1. **资源目录结构** ...
### 永久修改VirtualBox中Android-x86启动分辨率 在使用VirtualBox安装并运行Android-x86的过程中,可能会遇到虚拟机启动后的分辨率问题,尤其是当所有的应用程序默认以横屏模式启动时,这不仅降低了用户体验,也...
在Android开发过程中,屏幕适配是一项重要的工作,因为Android设备有着多样化的屏幕尺寸和分辨率。本文将详细讨论如何使用特定的工具,特别是针对"anrdroid测试屏幕分辨率"这一主题,来有效地测试和优化应用程序在...
玩转Android多分辨率规格的界面设计 随着移动互联网的飞速发展,Android系统因其开放性和灵活性,成为全球最受欢迎的移动操作系统之一。然而,这也带来了挑战,尤其是对于界面设计师而言,如何应对Android设备屏幕...
### Android主流分辨率及对应机型详解 #### 一、引言 在移动互联网时代,随着智能手机的普及和技术的进步,屏幕分辨率成为衡量手机显示效果的重要指标之一。不同分辨率的屏幕能够为用户提供不同的视觉体验,同时也...
小Demo 里面有关于自己手机的屏幕分辨率,包含虚拟按键的,方便手机进行屏幕适配
在Android平台上,分辨率问题是一个关键的设计和开发考虑因素,因为它涉及到UI元素在不同尺寸和密度屏幕上的呈现。Android系统为了适应各种设备,采用了一种灵活的屏幕适配策略。 首先,我们来理解Android屏幕适配...