Android TV:未聚焦的图片包含黑色透明背景?

时间:2016-07-14 07:05:30

标签: java android 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);
    }
}

未选中时,脸部包含黑色背景,但由于选中此背景,因此背景不存在: enter image description here

1 个答案:

答案 0 :(得分:4)

我找到了解决这个问题的方法。 VertiGridPresenter的调光器默认值为true,将其设置为false,如:

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

或更改<item name="overlayDimDimmedLevel">10%</item> 中的主题项@style/Theme.Leanback,百分比值设置为100%时的透明值,背景为黑色。