0

我正在创建智能手机平板电脑和电视的应用程序。 我正在创建不同的显示器,但我无法将平板电脑与电视机区分开来。 我读https://developer.android.com/guide/practices/screens_support.html配置qualifers - 多屏幕尺寸

我已经尝试了很多东西,大,xlarge sw720dp,W1024dp ..但nothings作品。我和模拟器一起工作。

AndroidTv 1080 API 25,分辨率为1920 * 1080:xhdpi

Nexus 5的API 24分辨率1080 * 1920:xxhdpi

的Nexus 7 1200 * 1920 xhdpi

感谢您的帮助!

+0

使用'-television'来区分电视与移动设备的资源。请参阅[文档](https://developer.android.com/guide/topics/resources/providing-resources.html#AlternativeResources)。 – CommonsWare

回答

0

你想要的文件是在这里:https://developer.android.com/guide/topics/resources/providing-resources.html#AlternativeResources

该网页的重要部分是表2(配置预选赛名)和标题为Android如何寻找最匹配的资源

阅读这些,很显然,你将使用最小宽度预选赛手机和平板设备之间进行区分,并且UI模式到电视和非电视区分。此目录结构应该工作:

res/ 
    layout/ 
     layout.xml (default (i.e. phones)) 
    layout-sw600dp/ 
     layout.xml (non-televisions 600dp or wider (i.e. tablets)) 
    layout-sw600dp-television/ 
     layout.xml (televisions 600dp or wider) 

因为最小宽度预选赛具有比UI模式预选赛的优先级高,如果你想只使用layout-television,你会发现,你的电视仍然采用-sw600dp布局。

+0

感谢您的帮助,但不幸的是,电视将打开layout.xml(默认)。 – Jamesp

+0

我不知道它是否会播放,但是当我在布局“电视”时,我无法选择android电视作为设备。 我的意思是当我选择电视时,这会将我重定向到activity_main(默认)并更改设备,因此activity_main(电视)会保留Nexus4。 尽管如此,我在平板设计上的nexus 7和默认的nexus 5,但我不能把电视上Televesion – Jamesp

+0

最后,我用: res/ 布局/ layout.xml(默认(即电话)) 布局sw600dp/ layout.xml(非电视为600 dp或更宽的(即平板电脑)) 布局土地电视notouch/ layout.xml(电视) 和它的作品,我不知道为什么我以前的评论有问题,但是很好,现在很有用,所以谢谢 – Jamesp