Подтвердить что ты не робот

Android TV: несфокусированное изображение содержит черный прозрачный фон?

Приложение Android TV извлекает изображения с сервера и отображает их на главном экране. Проблема в том, что все изображения, которые не сфокусированы, то есть не выбраны, содержат черный прозрачный фон.

Единственное изображение, которое не содержит прозрачный фон, - это выбранное в данный момент изображение. Я удостоверился, что изображения были pngs. Как только изображение сфокусировано, фон удаляется.

Я не использую LinearLayout или что-нибудь в .xml, просто класс GridItemPresenter.

Что вызывает это и как я могу это исправить?

Я попытался добавить следующий view.setBackgroundColor(Color.TRANSPARENT), но это не имеет никакого эффекта.

Здесь мой код:

private class GridItemPresenter extends Presenter
{
    public ViewHolder onCreateViewHolder(ViewGroup parent)
    {       
        ImageView view = new ImageView(parent.getContext());

        view.setBackgroundColor(Color.TRANSPARENT);

        view.setLayoutParams(new ViewGroup.LayoutParams((int)x, (int)y));
        view.setFocusable(true);
        view.setFocusableInTouchMode(true);
            return new ViewHolder(view);
    }

    public void onBindViewHolder(ViewHolder viewHolder, Object item)
    {
        ImageView imageView = ( (ImageView) viewHolder.view);

    }

    public void onUnbindViewHolder(ViewHolder viewHolder)
    {
        ImageView imageView = ( (ImageView) viewHolder.view);
    }
}

Лицо содержит черный фон, если он не выбран, но поскольку он выбран, фона нет: введите описание изображения здесь

4b9b3361

Ответ 1

Я нашел способ исправить это. VertiGridPresenter Значение dimmer по умолчанию true, установите его на false как:

VerticalGridPresenter gridPresenter = new VerticalGridPresenter(FocusHighlight.ZOOM_FACTOR_NONE, false);

или изменить элемент темы <item name="overlayDimDimmedLevel">10%</item> в @style/Theme.Leanback, процентное значение задает прозрачное значение при установке 100% фона будет черным.