屏幕图片及文字适配
2013-03-14 14:25
239 查看
原创作品,允许转载,转载时请务必以超链接形式标明文章
原始出处 、作者信息和本声明。否则将追究法律责任。http://mikewang.blog.51cto.com/3826268/865304
问题:
测试时,发现应用在不同的显示器上显示效果不同(部分文本不能显示完全),自然想到屏幕适配的问题。
按照思路整理如下:
(一) 几个概念
1, Screen size 屏幕的尺寸,即对角线长度(单位inch-英寸)
2, Screen density屏幕密度,即单位长度像素点数(pots/inches)
3, Resolution 分辨率,即屏幕的总像素点数(width * height)
4, Density-independent pixel (dp)独立像素密度。标准是160dip.即1dp对应1个pixel,计算公式如:px = dp * (dpi / 160),屏幕密度越大,1dp对应 的像素点越多。
(二) 屏幕的分类(size & density)
1, 以总像素数分,文本的size等都要改,如下图所示
![](http://img1.51cto.com/attachment/201205/205128861.png)
每一个分类都有其最小分辨率,如下,可根据分辨率划分种类:
![](http://img1.51cto.com/attachment/201205/205848780.png)
2, 以屏幕密度分,提供不同的图片如下图所示
![](http://img1.51cto.com/attachment/201205/205147969.png)
Note1:匹配以上面两种为参考。
Note2:还有专为水平(landscape)和竖直(portrait)两种,使用的少,在此不赘述。
(三) Android寻找最佳资源原理
1, 排除与设备设置不符合的资源
2, 根据限定词(qualifier)的优先级,按照顺序查找
3, 在限定词下,是否存在资源路径
4, 排除不包含在限定词中的资源路径
5, 继续执行不同的限定词查找,直到找到相应的资源
如下图所示:
![](http://img1.51cto.com/attachment/201205/205210761.png)
(四) 项目步骤:
1, manufest中配置
<supports-screens
android:anyDensity="true"
android:largeScreens="true"
android:normalScreens="true"
android:smallScreens="true"
android:xlargeScreens="true" />
2, 新建对应的资源文件夹
A, Layout
例如,我现在有三个显示器分辨率:
分别为1280*720,1024*768,1200*690
根据以上最低分辨率的要求,分为xlarge和large两类,新建两个文件夹,如下:
如下图所示:
![](http://img1.51cto.com/attachment/201205/205432756.png)
B, Drawable
如下图所示:
![](http://img1.51cto.com/attachment/201205/205447596.png)
在drawable中,以mdpi为标准(即160dpi)。比例保持为3:4:5:6,如下图所示:
![](http://img1.51cto.com/attachment/201205/210232221.png)
本文出自 “小新专栏” 博客,请务必保留此出处http://mikewang.blog.51cto.com/3826268/865304
原始出处 、作者信息和本声明。否则将追究法律责任。http://mikewang.blog.51cto.com/3826268/865304
问题:
测试时,发现应用在不同的显示器上显示效果不同(部分文本不能显示完全),自然想到屏幕适配的问题。
按照思路整理如下:
(一) 几个概念
1, Screen size 屏幕的尺寸,即对角线长度(单位inch-英寸)
2, Screen density屏幕密度,即单位长度像素点数(pots/inches)
3, Resolution 分辨率,即屏幕的总像素点数(width * height)
4, Density-independent pixel (dp)独立像素密度。标准是160dip.即1dp对应1个pixel,计算公式如:px = dp * (dpi / 160),屏幕密度越大,1dp对应 的像素点越多。
(二) 屏幕的分类(size & density)
1, 以总像素数分,文本的size等都要改,如下图所示
![](http://img1.51cto.com/attachment/201205/205128861.png)
每一个分类都有其最小分辨率,如下,可根据分辨率划分种类:
![](http://img1.51cto.com/attachment/201205/205848780.png)
2, 以屏幕密度分,提供不同的图片如下图所示
![](http://img1.51cto.com/attachment/201205/205147969.png)
Note1:匹配以上面两种为参考。
Note2:还有专为水平(landscape)和竖直(portrait)两种,使用的少,在此不赘述。
(三) Android寻找最佳资源原理
1, 排除与设备设置不符合的资源
2, 根据限定词(qualifier)的优先级,按照顺序查找
3, 在限定词下,是否存在资源路径
4, 排除不包含在限定词中的资源路径
5, 继续执行不同的限定词查找,直到找到相应的资源
如下图所示:
![](http://img1.51cto.com/attachment/201205/205210761.png)
(四) 项目步骤:
1, manufest中配置
<supports-screens
android:anyDensity="true"
android:largeScreens="true"
android:normalScreens="true"
android:smallScreens="true"
android:xlargeScreens="true" />
2, 新建对应的资源文件夹
A, Layout
例如,我现在有三个显示器分辨率:
分别为1280*720,1024*768,1200*690
根据以上最低分辨率的要求,分为xlarge和large两类,新建两个文件夹,如下:
如下图所示:
![](http://img1.51cto.com/attachment/201205/205432756.png)
B, Drawable
如下图所示:
![](http://img1.51cto.com/attachment/201205/205447596.png)
在drawable中,以mdpi为标准(即160dpi)。比例保持为3:4:5:6,如下图所示:
![](http://img1.51cto.com/attachment/201205/210232221.png)
本文出自 “小新专栏” 博客,请务必保留此出处http://mikewang.blog.51cto.com/3826268/865304
相关文章推荐
- 屏幕适配(布局、文字、图片、尺寸单位)
- 屏幕适配(尺寸单位、图片、文字、布局)
- android:universal:文字and图片and屏幕适配
- android屏幕适配不同的资源图片、布局
- UIWebView 实现图片适应屏幕的宽度 文字内容的大小不变
- Android图片,文字的适配
- 屏幕适配 图片的高度和宽度一样
- cocos2d-js安卓屏幕文字、图片模糊问题
- WebView加载HTML时图片适配屏幕
- 移动端Retina屏幕图片适配
- android屏幕适配之点9图片
- Android自定义控件系列八:详解onMeasure()(二)--利用onMeasure测量来实现图片拉伸永不变形,解决屏幕适配问题
- react-native 屏幕尺寸和文字大小适配
- android WebView中图片适配屏幕大小并添加添加事件
- Android屏幕适配和文字屏幕适配
- Android中图片适配屏幕问题
- 根据屏幕宽高比适配文字大小 和 布局
- android屏幕适配——图片
- iOS如何适配与屏幕大小相同的图片
- Android WebView显示图片适配屏幕宽度