如何让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处置多种屏幕尺寸
热度:68 发布时间:2016-05-01 20:50:56.0
相关解决方案
- android 读取byte[]中的元素解决方案
- android 标题栏兑现方式
- android 中Activity向BroadcastReceiver发送数据,该怎么解决
- Android 4.0 为什么模拟器老是提示小弟我谷歌拼音输入法已停止
- android:getSharedPreferences() 这是哪个类的方法解决思路
- android 怎么判断一个程序是否联网
- android 大量数据按周分组,该如何解决
- android RadioButton如何设置默认选中
- ksoap2-android-这个包,连接webService怎么设置超时
- android 怎么重新设置锚点
- android UI界面设计解决方案
- android 图片对象获取的有关问题
- android 怎么调用淘宝支付宝接口
- Android 沿袭InputMethodService自定义输入法
- android 关于服务连接的疑义
- android 两个activity如何通信
- android 怎么实现对view的放大和缩小
- android 教程解决方法
- android ID,该如何处理
- 准备复习2-3个月,看java+android,请问有经验者,怎么看效果最好》
- android UI线程与AsyncTask的有关问题
- android(java)中的java.net能不能和c#的system.net.sockets进行tcp通信,该如何解决
- android ListView 中的onItemClick Intent 没法跳转
- android(java) 中文乱码的有关问题
- c#c++,android,ios(iphone),php,java视屏课程 散分
- android Post文件到ASP.NET的有关问题,能收到参数收不到文件
- RIM 替 Android 开发者提供免费的 PlayBook!2月13日前
- android 动态设立控件高度
- Android test project 编译方法
- android -相机使用教程(1)解决方法