Как отделить Android-макет от телевизора и телефона / планшета? - PullRequest
0 голосов
/ 12 марта 2019

У меня есть приложение для Android, которое работает на телефоне / планшете. Я хочу добавить поддержку Android TV.

Официальная документация говорит о создании отдельного мероприятия для телевидения.

Единственным отличием между телефоном и телевизором является уровень представления (т.е. представление), поэтому мне нужно только создавать новые макеты, а не контроллер.

Я создал макеты, которые работают на ТВ и используют тот же контроллер. Проблема в том, что я не могу указать, какие макеты для телевизора, а какие для телефонов / планшетов.

Я не могу делать предположения о размере экрана и типе устройства. Некоторые телефоны имеют более высокое разрешение экрана, чем телевизоры, и наоборот.

Как предоставить разные макеты для телефона и телевизора?

Если есть лучший способ сделать это без написания (или копирования) моего существующего кода Java, я бы тоже это принял.

Ответы [ 2 ]

3 голосов
/ 12 марта 2019

Как я могу предоставить различные макеты для телефона и телевизора?

Если это официальная среда Android TV, AFAIK res/layout-television/ должен работать. См. Легендарный Таблица 2 .

0 голосов
/ 12 марта 2019

вы можете использовать эту логическую проверку, чтобы видеть, если вы находитесь на телевизоре:

    context.getPackageManager().hasSystemFeature("com.google.android.tv")
...