为了定义1080p和720p android TV的不同尺寸值,我需要决定我应该使用哪个限定符。当我试图使用诸如values-sw1080p,values-sw720p之类的东西时,它不起作用。 dimes.xml中的值不影响任何内容。但是,如果我使用-sw540dp,-sw360dp等限定符,它就可以工作。我真的不明白为什么那样。任何想法?谢谢。我应该使用哪种资源限定符来支持1080p,720p Android TV? - Android
回答
首先,你基本上是正确的。您可以使用
sw360dp/ : 720p screens
sw540dp/ : 1080p screens
sw720p/sw1080p
不工作的原因是因为它们不存在限定符。
This is the official documentation关于使用不同的屏幕尺寸。正如你可以读到的,如果你想计算你的文件夹,有两个不同的单位需要考虑:像素数(例如720)和像素密度(即点每英寸单位,或多少像素适合一英寸)。
的公式很简单:
px = dp * (dpi/160)
,而在这种情况下,我们有:
dp = px * 160/dpi
当然,一台电视机可以有不同的密度:此表告诉你更多关于它(源:official documentation)。
假设我们有一个额外的高密度的1080p显示器(@ 320 DPI)。我们做数学题
dp = 1080 * 160/320 = 540
所以我们得到相应的文件夹,把你的资源在
编辑:在同一页面上,它是说,有一个特定的tvdpi
限定符您可以使用您的电视相关资源(约213 dpi
)。
谢谢。这是否意味着所有的1080p和720p电视都是320 DPI? (因为当我问我时,我的顾客不知道DPI)。 –
在同一页上,声明“tvdpi”约为213 dpi。 – Sebastiano
从我的观察来看,720p电视使用'tvdpi',而1080p电视使用'xhdpi'。这意味着**这两个**都具有密度无关的尺寸(960x540 dp)(大概为720p),都适用于'sw540dp'桶。因此我相信使用'sw360dp'专门针对720p是不正确的。 –
Android TV可以考虑三种屏幕密度,以及三种相应的限定符。这些包括:
- tvdpi - (213dpi) - 用于720p的电视;
- xhdpi - (320dpi) - 用于1080p(HD)电视;
- xxxhdpi - (640dpi) - 用于4k(超高清)电视机。
但根据https://developer.android.com/training/tv/start/layouts.html#density-resources:
您的电视布局的目标应为1920 x 1080像素[标准1080/HD],并 屏幕大小,然后让Android系统来缩减您的布局元素 如果需要,可以使用720p。
这意味着,如果按照这个建议,并始终以设计一个1080p的规格,你可以使用-television
UI Mode Qualifier并用它做。
如果您需要为不同的电视尺寸提供不同的图像和布局,您可以使用上面的屏幕密度限定符。
电视的“标准”图像和布局可以存储在-xhdpi
文件夹中,因为xhdpi
是用于1080p电视的限定符。
如果(可选)4k电视机需要高分辨率图像,则可将图像作为“2x”图像提供,并存储在drawable-xxxhdpi
文件夹中。类似地,仅针对4k电视的尺寸/布局可以放置在-xxxhdpi
中。
(特别注意-tvdpi
预选赛是专门针对720p和几乎可以肯定不是你想用它来支持现代化的电视内容。)
的文档是稀疏,稍矛盾,但我基地这主要是上这些来源:
https://developer.android.com/guide/practices/screens_support.html https://stackoverflow.com/a/11581786/925478
通常通告1080- 1. RTL支持Android和资源限定符
- 2. Android我应该使用哪种布局
- 3. Android Wear资源限定符
- 4. Android Chrome支持哪种ogg?
- 5. Android:我应该支持哪些版本的Android?
- 6. 我应该为我的Android应用使用哪种云服务
- 7. 我应该使用哪个资源来保留我的API RESTFul?
- 8. Android资源大小限定符
- 9. 我应该开发哪种Android版本?
- 10. 什么是1080p电话资源限定符?
- 11. 使用Android支持V7库资源在我的图书馆
- 12. 使用LeanBack支持库自定义Android TV接口
- 13. Golang - 应该在哪里资源保持
- 14. 我应该使用哪些Xcode设置来支持armv6和armv7?
- 15. Android:我应该支持哪些屏幕尺寸
- 16. 我在哪里应该添加<支持屏> Android中tiapp.xml
- 17. Trigger.io支持哪种版本的android/iOs?
- 18. Android TV的多屏幕支持
- 19. Android TV是否支持多点触控?
- 20. Android资源数量有哪些限制?
- 21. 我应该开发哪种Android版本? (现在M出来了)
- 22. REST API中的“投票”资源应该使用哪种方法?
- 23. 支持哪些Android应用分辨率?
- 24. Android内部存储,我应该使用哪种模式?
- 25. Android:我应该使用哪种图像格式,为什么?
- 26. Android ==>我应该使用哪种布局?
- 27. 我应该使用哪种类型的Android服务?
- 28. Android:我应该使用哪种广播/接收器组合?
- 29. Android集合,我应该使用哪些?
- 30. Android TV应用程序不支持亚马逊FireTV
显示装置是指接受原始分辨率格式1080p信号的能力,这意味着有一个真正的1920个像素宽度和1080个像素我n高度, –
其中sw-7080p其中“sw”代表“屏幕宽度”。 –
既不使用,至少对于电视机而言是不同的。请记住,手机和平板电脑的布局通常不适合电视机使用,因为依赖于操作栏,缺乏对过扫描的支持等等。使用'-television'作为电视中心资源的资源集合限定符。 – CommonsWare