2015-01-08 3 views
2

Я изменяю существующее приложение для работы на Android TV с помощью набора разработчика ADT-1.
Внешний край оригинального макета приложения при установке на Android TV обрезается.
Затем я последовал за this link и установил прокрутку для корня макета.Оверскана на Android TV

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@+id/base_layout" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:orientation="vertical" 
    android:layout_marginTop="27dp" 
    android:layout_marginLeft="48dp" 
    android:layout_marginRight="48dp" 
    android:layout_marginBottom="27dp" > 
    ..... 
</LinearLayout> 

Но результат подобен ниже. Корень макета очень полезна, он не заполняет экран (область в красном прямоугольнике).
Каков пиксель края перескакивания для корневого макета, чтобы заполнить именно экран? Заранее спасибо. enter image description here

+0

Я не уверен, в чем ваш вопрос. Установив маржу в корневую компоновку, вы, очевидно, получаете меньшее пространство для отображения вашего контента. Что бы вы хотели получить? – Sebastiano

+0

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

ответ

1

Там нет правильного Маржа, , потому что это зависит от вашего телевизора.

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

Таким образом, вы добавляете 10% -ный запас к своему макету, чтобы убедиться, что он будет всегда быть видимым. Использование px вместо dp сделает практически никакой разницы.

+0

Если это правда, это так неудобно. Мы должны вычислить маржу 10% и установить маржу для каждого корневого макета вручную. –

+0

http://developer.android.com/training/tv/start/layouts.html#structure. Я не знаю, почему они предлагают dp вместо px. –

+0

Потому что некоторые телевизоры будут иметь разрешение 720p, а некоторые другие пойдут на 1080p, возможно. В любом случае, если вы используете стандартные виджеты пользовательского интерфейса, которые поставляются с библиотекой Leanback, эти поля уже добавлены. – Sebastiano

0

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

adb connect 192.168.0.100 
adb shell wm overscan reset 

Если сброс не делать то, что и следовало ожидать, с помощью кнопок ВЛЕВО, TOP, RIGHT, BOTTOM значения в пикселях

adb shell wm overscan 0,0,0,0 
adb shell wm overscan 10,20,30,40 
Смежные вопросы