如何让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
分享到:
相关推荐
欢迎进入神秘的android世界!自2008年相关设备进入市场以来,android的发展日新月异,android设备日益繁盛,而其...支持android 1.5、1.6和2.0 设备,包括处理多个版本的android os、多种屏幕尺寸和其他特定于设备的特
欢迎进入神秘的Android世界!... 使用和创建整合了活动、服务、内容提供程序和广播接收器的Android应用, 支持Android 1.5、1.6和2.0 设备,包括处理多个版本的Android OS、多种屏幕尺寸和其他特定于设备的特性
Android开发入门教程 作者:墨菲 欢迎进入神秘的android世界!自2008年相关设备进入市场以来,android的发展...支持android 1.5、1.6和2.0 设备,包括处理多个版本的android os、多种屏幕尺寸和其他特定于设备的特性
2.7 完成TIME矸渔CKER 2.8 结束语 第3章 更进一步 3.1支持多种屏幕尺寸 3.1.1 资源限定符 3.1.2 资源限定符优先级 3.1.3 密度无关的像素 3.1.4 9.补丁图形 3.2处理通知 3.2.1 TOAST 3.2.2 状态栏通知 3.2.3 对话框 ...
----------------------------------- Android 编程基础 1 封面----------------------------------- Android 编程基础 2 开放手机联盟 --Open --Open --Open --Open Handset Handset Handset Handset Alliance ...
此外,该模板包括如何处理多个 iOS 和 Android 屏幕尺寸和密度的选项卡图像的示例(查看 /assets/iphone/images 和 /assets/android/images 文件夹)。执照此代码根据 Apache 公共许可证(第 2 版)获得许可。
鉴于市场上用户的手机型号、种类、屏幕分辨率等参差不齐,传统方式根据主流系统分别开发相应的系统耗时又耗力,为了高效开发并节约开发项目成本,本文采用Android+HTML5相结合的方式进行移动端Web系统的设计研发工作...
kotlin-android-practice 一些面向初学者的小项目,可与Kotlin一起练习Android基础。...支持多种屏幕尺寸 处理计算操作“ +-* /”。 +/-和%是您的职责 多屏幕说明:这些是您必须支持的某种屏幕:ldpi,mdpi,hdpi,
第5章 为多种屏幕尺寸进行开发 125 5.1 多种屏幕尺寸的考虑 125 5.1.1 像素密度 126 5.1.2 利用设备dpi 127 5.2 使内容适应舞台尺寸 131 5.2.1 使用stagescalemode 和 stagealign类 131 5.2.2 处理舞台尺寸...
6)最完美的照片后处理工具:①100多种特效②丰富的编辑功能③完美的文字、泡泡、标签功能④数百个相框、背景、装饰部件。 7)最快的连拍软件:帮你记录精彩的运动瞬间。 8)社交网站一键分享:支持一键分享到微博、...