Android 屏幕尺寸和分辨率的适配
来源:互联网 发布:跑步计步器软件 编辑:程序博客网 时间:2024/05/16 07:20
分辨率无关
使用密度无关的像素
Android 使用密度无关的像素(dp)来指定屏幕尺寸,它使布局具有缩放效果。
在应用程序中应经常使用dip(dp),而避免使用像素指定任何布局尺寸、View大小或者图像尺寸。
Android还使用了缩放无关的像素(sp)来衡量文本大小的特殊情况。
像素密度的资源限定符
最还为不同像素密度提供多个图像资源
- res/drawable-ldpi 为120dip左右的屏幕提供低密度资源
- res/drawable-mdpi 为160dip左右的屏幕提供中等密度资源
- res/drawable-tvdpi 为213dip左右的屏幕提供中高密度资源
- res/drawable-hdpi 为240dip左右的屏幕提供高密度密度资源
- res/drawable-xhdpi 为320dip左右的屏幕提供超高密度资源
- res/drawable-nodpi 用于不管宿主屏幕密度如何都不能缩放的资源
为不同屏幕大小提供支持和优化
不用为每个特定的屏幕创造一个不同的绝对布局,可以使用下面两段式方法:
1. 保证所有的布局都能在一个合理的范围内进行缩放
2. 创造一组范围重叠的备选布局来满足所有可能的屏幕配置
创建可缩放的布局
为不同屏幕类型优化布局
使用long和notlong修饰符为正常的宽屏显示提供优化的布局,使用port和land修饰符分别指示当屏幕为横屏或者竖屏时所使用的布局
res/layout-long-land/ 宽屏横屏模式的布局res/layout-notlong-port/ 非宽屏竖屏模式的布局
指定支持的屏幕尺寸
可以通过在清单文件中使用supports-screens元素来指定应用程序可以运行在哪些屏幕上
<supports-screens android:smallScreens="false" android:normalScreens="true" android:largeScreens="true" android:xlargeScreens="true" />
false值强制Android使用兼容性缩放比例来尝试正确地缩放应用程序的UI,这通常会使UI图像质量下降。
创建可缩放的图形资源
可以使用XML定义drawable资源,储存在res/drawable文件夹下。
颜色Drawable
<color xmlns:android="http://schemas.android.com/apk/res/android" android:color="#ff0000"/>
形状Drawable
形状Drawable资源允许使用标记指定基本形状的尺寸、背景和笔划轮廓线。
shape的属性值:
- line 一条跨越父View的宽度的水平线,线的宽度和样式是通过形状的笔划来描述的
- oval 简单的椭圆形
- rectangle 简单的矩形。也支持使用radius属性创建圆角矩形的子节点
- ring 使用innerRadius和thickness属性指定圆环的形状的内径和厚度。使用innerRadiusRatio和thicknessRatio将圆环的内径和厚度定义为宽度的比例。
使用子节点时,可以通过width和color属性指定形状的轮廓线,还可以包含节点来移动形状在画布上的位置。
渐变Drawable
渐变Drawable是使用标记并作为形状Drawable定义中的子节点定义的。
每一个渐变Drawable都要求至少有一个startColor和endColor属性,并且支持一个可选的middleColor属性。通过使用type属性,可以把渐变定义为以下列出的某种类型:
1. 线性 显示按照angle属性定义的角度从startColor到endColor的直接颜色过渡。
2. 辐射 从形状的外边界到中心绘制从startColor到endColor的圆形渐变。要使用gradientRadius属性指定以像素计算的渐变过渡的半径。centerX和centerY移动渐变中心的位置。(可能需要为不同的屏幕分辨率指定不同的渐变半径)
3. 扫描 绘制一个扫描渐变,它将沿着父形状的外边界从srartColor到endColor进行过渡。
.9图
以.9.png作为文件扩展名的可拉伸的位图。
- Android 屏幕尺寸和分辨率的适配
- android应用如进行屏幕尺寸和分辨率适配
- Android适配不同分辨率——精确适配不同的dpi和屏幕尺寸
- Android适配不同分辨率——精确适配不同的dpi和屏幕尺寸
- Android屏幕尺寸,分辨率,屏幕适配剖析
- 屏幕分辨率、屏幕尺寸以及屏幕适配和图片分辨率
- 分辨率和屏幕尺寸
- iPhone的屏幕尺寸和分辨率
- Android控件尺寸之多分辨率屏幕适配
- 【原创】概述——android应用如进行屏幕尺寸和分辨率适配
- Android常见分辨率(mdpi、hdpi 、xhdpi、xxhdpi )尺寸单位转换和屏幕适配相关
- Android常见分辨率(mdpi、hdpi 、xhdpi、xxhdpi )尺寸单位转换和屏幕适配相关
- android适配各种分辨率和尺寸的问题
- android 适配不同 分辨率和尺寸
- Android 适配不同 分辨率和尺寸
- Android如何获取屏幕的尺寸和屏幕的分辨率呢?
- 屏幕适配:dp、px、ppi、sp、手机尺寸和分辨率之间的关系
- iPhone屏幕尺寸、分辨率及适配
- 【OpenGL】02 - OpenGL中的坐标系
- iOS内功篇:内存管理
- Spring Web MVC实现Restful Web Service
- PHP-关于模板的原理和解析
- IDEA UL如何打war包
- Android 屏幕尺寸和分辨率的适配
- Dojo加载自定义对象
- CentOS 6 安装Hadoop 2.6 (二)配置Hadoop
- 在linux下用不了ifconfig的问题
- Android自定义下拉刷新动画--仿百度外卖下拉刷新
- 不加www有哪些好处和坏处?
- 内核启动出现Partially written xxx block detected
- python编程实践小结2016-04-11
- cygwin下面c++编译 在此作用域中尚未声明