我有一个适用于手机/平板电脑的Android应用程序。我想添加对Android TV的支持。
官方文档说要为电视创建一个单独的活动。
电话和电视之间的唯一区别是表示层(即视图),所以我只需要创建新的布局,而不是控制器。
我创建了适用于电视的布局并使用相同的控制器。问题是我无法指定哪些布局适用于电视,哪些布局适用于手机/平板电脑。
我不能对屏幕尺寸和设备类型做出假设。有些手机的屏幕分辨率高于电视,反之亦然。
如何为手机和电视提供不同的布局?
如果有一种更好的方法可以在不编写(或复制)现有Java代码的情况下执行此操作,我也会接受。
如何为手机和电视提供不同的布局?
如果这是一个官方的Android TV环境,AFAIK res/layout-television/
应该可以使用。看看传说中的Table 2。
您可以使用此布尔检查来查看您是否在电视上:
context.getPackageManager().hasSystemFeature("com.google.android.tv")