Android屏幕大小适配问题解决
来源:互联网 发布:塑料卫生间门 淘宝 编辑:程序博客网 时间:2024/06/03 21:26
ps:建议先看上一篇文章:http://blog.csdn.net/u011695847/article/details/9981143
一、一些基本概念
1、长度(真实长度):英寸、inch
2、分辨率:density 每英寸像素数 dpi(密度)
3、像素:px
4、dip的公式:px /dip=dpi/160 所以 dip 类似于英寸、长度(dp=dip,sp类似于dip)
5、相对分辨率=长px*宽px
二、平时我们一些概念的混淆
1、平时我们说 手机的分辨率是 320*480的,其实的这里的分辨率是相对分辨率
意思是:水平方向上的像素数是320,垂直方向上像素数是480,
分辨率是160(默认是160,意思是每英寸像素数160)
那么水平方向:320 /160=2英寸
垂直方向:480/160=3英寸
于是乎 屏幕对角线 是根号下4*9=3.6(这就是常说的3.6英寸屏幕)
2、说一个手机的屏幕参数有三个:长宽像素之积(相对分辨率)、真实分辨率、对角线长度(真实分辨率默认是160所以不常说,如果不是160你可以通过另外两个参数求出真实分辨率)
3、模拟器的分辨率都是160,所以像素越大,屏越大
4、l、m、h 三个文件夹是按 真是分辨率dpi 来对应找文件的。
5、有三种方案解决屏幕适配
(1)按像素比 y/开发时用的屏幕像素=x/用户设备像素
(2)按长度 用dip(假设屏幕尺寸基本不变)
(3)按密度 放在l、m、h文件夹(假设屏幕尺寸基本不变,dpi越大 px越大)
6、如果手机是hdpi,但hdpi里没有东西,l里有东西,程序就会去l里找图片并且把它按比例放大。
7、最全的办法:单独适配
屏幕分辨率:1024x600
density:1(160)
文件夹:values-mdpi-1024x600
屏幕分辨率:1024x600
density:1.5(240)
文件夹:values-hdpi-683x400 由1024/1.5 600/1.5得到,需要四舍五入。
屏幕分辨率:800x480
density:1(160)
文件夹:values-mdpi-800x480
屏幕分辨率:800x480
density:1.5(240)
文件夹:values-hdpi-533x320 由800/1.5 480/1.5得到,需要四舍五入。
以此类推
一般情况下需要创建出values 、values-mdpi 、 values-hdpi文件夹,以备在一些没有规定的尺寸屏幕上找不到资源的情况。
8、我的原则,能用拉伸图片的就拉伸、能用相对布局的就用相对布局、能用代码计算宽度就代码计算。
0.75_1_ 1.5_ 2_ 3
240_320_480_640*960_720*1280
res/drawable下的文件会做失真压缩
res/drawable-nodpi下的文件不做任何处理
我的处理是:
drawable-xhdpi是适应现在的大屏手机,9250就是320dpi
drawable-xlarge是适配平板的
原文作者: tianmeng126
原文地址: http://my.eoe.cn/mentor811/archive/2414.html
- Android屏幕大小适配问题解决
- Android屏幕大小适配问题解决
- Android屏幕大小适配问题解决
- Android屏幕大小适配问题解决
- Android屏幕大小适配问题解决
- android不同屏幕大小手机的适配问题
- android 适配不同大小屏幕的方法
- Iphone适配屏幕大小
- js适配屏幕大小
- Android获取屏幕大小
- Android获取屏幕大小
- Android获取屏幕大小
- android 获取屏幕大小
- Android获取屏幕大小 .
- Android获取屏幕大小
- 获取android屏幕大小
- Android获取屏幕大小
- Android获取屏幕大小
- string类型与int类型的转换
- poj3422 Kaka's Matrix Travels 最大费用流 (拆点)
- 这10万的学费,花的值!
- 配置项管理的3个等级
- http://geek.csdn.net/news/detail/2228
- Android屏幕大小适配问题解决
- editplus正则表达式
- JQuery实现文字无缝滚动效果(Marquee插件)
- svn使用说明-linux下
- HTML Parser 替代品 jsoup
- android.content.ReceiverCallNotAllowedException: 解决方法
- poj图论题目
- Java中thread类与Runnable接口的区别
- 理解UIApplication