Android TV 屏幕适配 1
1、dpi ,dip(dp), density
几个比较难描述的概念,摘这个blog的:
http://www.cnblogs.com/wader2011/archive/2011/11/29/2267490.html
1 、物理单位像素 pixel
2 、density: 屏幕密度 指每平方英寸中的像素数。
Density=Resolution/Screen size
在DisplayMetrics类中属性density的值为dpi/160(可用于px与dip的互相转换)
3、dpi: (dots per inch 像素密度)
每英寸中的像素数。如160dpi指手机水平或垂直方向上每英寸距离有160个像素点。假定设备分辨率为320*240,屏幕长2英寸宽1.5英寸, dpi=320/2=240/1.5=160
简单的估算可以用ppi 也就是买手机时经常会标的参数:
=屏幕对角线的像素长度/屏幕对角线的尺寸
4、dip = dp: (Device-independent pixel,设备独立像素)
dip值 =设备密度/160* pixel值
dip值 =density* pixel值
2、常见设备对应值
理想设备
- xxhdpi -> dpi=480 ->density=3
- xhdpi -> dpi=320 -> density=2
- hdpi -> dpi=240 -> density=1.5
- mdpi -> dpi=160 -> density=1
手机设备 720p 对应 xhdpi
手机设备 1080p 对应 xxhdpi
tv 设备 720p 对应 mdpi
tv 设备 1080p 对应 hdpi
3、标注与切图 设计图对取图的影响
ui 图的标注,切图和 设计图的分辨率有关系。
比如针对Android开发的ui图给图也是跟着主流设备走,一个发展的过程:
480*800 -> 720*1280 -> 1080*1920 -> (以后2k屏幕)
手机(480*800 hdpi = 1.5) ->(720*1280 xhdpi = 2) -> (1080*1920 xxhdpi = 3)
tv (720*1280 mdpi = 1) -> (1080*1920 hdpi = 1.5)
3.1、距离的标注
例如:比如对字体的标注,一个控件和另一个控件之间的距离标注。
设计图1080*1920 上的一个距离是 100.0px 对应
在1080*1920 -xhdpi(tv dpi=1.5) 的设备上对应的就是 100.0 / 1.5 dp
在720*1280 - mdpi (tv dpi=1.0 )的设备上对应的就是 100*(720/1080)/1 = 100/1.5dp
3.2、图片切图
切图的计算方式和距离的标注的计算方式不同
3.2.1设计图 = 1080 * 1920 icon = 232*232
手机尺寸
xxhdpi:xhdpi:hdpi:mdpi = 6:4:3:2 其中设计图与xxhpi的图标大小一致
xxhpi 232*232
xhdpi 155*155
hdpi 116*116
mdpi 77*77
tv尺寸
hdpi:mdpi = 1.5 :1
hdpi 232 x 232
mdpi 155 x 155
3.2.2设计图 = 720 * 1080 icon = 232*232
xxhdpi:xhdpi:hdpi:mdpi = 6:4:3:2 其中设计图与xhpi的图标大小一致
xxhdpi 348x348
xhpi 232x232
hdpi 174x174
mdpi 116x116
tv尺寸
hdpi:mdpi = 1.5:1
hdpi 348x348
mdpi 232x232
android TV 屏幕适配 11、dpi ,dip(dp), density几个比较难描述的概念,摘这个blog的: http://www.cnblogs.com/wader2011/archive/2011/11/29/2267490.html1 、物理单位像素 pixel 2 、density: 屏幕密度 指每平方英寸中的像素数。 Density=Resolution/Sc
在前几篇文章,我们大致了解了
Android
开发的一些常规模式和方法,在这个过程中其实我们已经接触到了
屏幕
适配
方面的相关知识,但是并没有深入地讲解这些概念。这篇文章我们将分三个方面进行详细讲解。在
Android
中,定义组件尺寸的单位通常有dp和sp,那么它们跟我们经常使用的px有什么区别呢?px是Pixels的缩写,是常用的像素单位,对应的是
屏幕
上的点。移动设备的尺寸有很多种,它们的
屏幕
总像素也是不同的,使用px单位的组件尺寸会有不一致的情况。我们看个例子可以看出这个加号icon在分辨率较高,尺寸较大的
屏幕
上反而显得略小dp(density-independentpixel)是与密度无关的像素单
Android
的
屏幕
适配
是指
适配
不同机顶盒 UI 框架层输出的分辨率和 dpi,而不是
适配
不同分辨率的
电视
机(
电视
机的
适配
交由机顶盒本身完成,和各个应用无关)
之前的文章有介绍过
适配
相关的问题在和dimens插件,可以前往了解:
Android
完美
适配
dimens.xml脚本
打造AS酷炫dimens
适配
插件
1、什么是
屏幕
尺寸、
屏幕
分辨率、
屏幕
像素密度?
转自:https://www.jianshu.com/p/f406740263e7
Android
的
屏幕
适配
是指
适配
不同机顶盒 UI 框架层输出的分辨率和 dpi,而不是
适配
不同分辨率的
电视
机(
电视
机的
适配
交由机顶盒本身完成,和各个应用无关)。
获取机顶盒 UI 框架层输出的分辨率和 dpi
可以通过以下代码获取机顶盒UI框架层实际输出的分辨率(对应代码中的 width * height
前言:前面几篇总结一些
TV
上的小Sample,开源到GitHub: https://github.com/hejunlin2013/
TV
Sample, 点击链接,可以持续关注。今天总结下
TV
上
屏幕
适配
.:
看下Agenda:
一、
屏幕
适配
的一些背景知识
二、
TV
屏幕
适配
怎么
适配
?有哪些规则?
三、多
屏幕
适配
,
android
读取res/drawable优先级是什么?
四、
屏幕
分辨率及density 、densityDpi代码
在开发中需要添加
tv
dpi资源时,如drawable-
tv
dpi,在Eclipse或
Android
Studio上能编译,但在AOSP下mm时并没有编译该目录
解决办法:
build/core/product_config.mk 找到
# Default to medium-density assets.
# (Can be overridden in the device config,
在
Android
TV
上进行图片
适配
需要考虑以下几个方面:
1. 分辨率
适配
:
Android
TV
设备的分辨率通常比手机和平板电脑更高,因此需要提供高分辨率的图片资源。可以使用 drawable-xxhdpi、drawable-xxxhdpi 等高分辨率目录来存放图片资源。
2.
屏幕
比例
适配
:
Android
TV
的
屏幕
比例通常为 16:9,因此需要针对这种比例进行图片裁剪和缩放,以保证图片在
屏幕
上不会变形或拉伸。
3. 样式
适配
:
Android
TV
的用户界面风格与手机和平板电脑略有不同,因此需要针对
Android
TV
设备的样式进行图片
适配
,以保证图片能够融入到用户界面中。
4. 资源文件大小:由于
Android
TV
设备通常拥有更大的
屏幕
和更高的分辨率,因此需要提供更大的图片资源。但同时也需要注意图片文件大小的限制,以避免应用程序安装包过大。
总之,在进行
Android
TV
上的图片
适配
时,需要考虑到分辨率、
屏幕
比例、样式和资源文件大小等因素,以确保图片在
Android
TV
设备上能够正常显示。