Android TV屏幕适配

先说下现在市面上TV分辨率的大概情况

两种分辨率为主

1.720标清,分辨率为1280x720.

屏幕尺寸以32寸为主,部分电视为42寸

2.1080p全高清,分辨率为1920x1080

屏幕尺寸以42寸为主,此分辨率电视屏幕从32寸到50寸都有

适配遇到问题,已1080p尺寸为例:

分辨率固定不变,屏幕尺寸变化较大。

如:效果图尺寸为1920x1080,如果使用dp进行布局设计,并且要实现和效果图一样的显示,则需要根据不同尺寸进行适配,也就是要每个尺寸都要有一套布局文件。同样720p的也要每个尺寸一个布局文件。这样的话布局文件太多将无法维护。

因为分辨率相同但屏幕尺寸不同,所以每个尺寸的dp密度值也不相同。这样一个控件在同样分辨率不同尺寸上面显示的效果和设计效果图上面肯定也不相同。

那么如何适配分辨率固定但屏幕密度值不同的电视呢?

1.使用dp设定控件尺寸,为每个密度值单独设定一套布局文件

优点:可以进行部分自适应,如1280x720中等密度(mdpi)尺寸的布局可以自适应到1920x1080高密度(hdpi)的屏幕

缺点:布局文件数膨胀,维护困难,有新的尺寸则需要新增新的布局文件进行适配

使用dp时,实际的适配只要保证一个尺寸的最佳显示效果,其他尺寸仅作兼容可以适当降低显示效果。这样基本就只需要一套最佳适配布局,一套兼容适配布局。说的简单,做起来有点困难。。。

2.使用px设定控件尺寸,根据分辨率适配布局

优点:只需要适配1920x1080和1280x720两个分辨率的布局文件,最多两套布局

缺点:使用了不被推荐的绝对像素进行控件设计,在ADT-18的插件上每个布局文件都会有一个警告的提示。。。

再说下适配固定分辨率不同密度的布局文件命名:

如:

1920x1080分辨率,高密度屏幕     布局文件目录名为layout-hdpi-1920x1080

1920x1080分辨率,中密度屏幕     布局文件目录名为layout-mdpi-1920x1080

720p的适配同理

ps:在设计布局时多使用相对定位,则能让部分页面布局可以适应大多说的分辨率。所以需要适配的布局应该不会很多的。

以上为个人最TV适配的理解,仅供看客参考。如果有错误也请指正,以免继续误导别人。

相关推荐