安卓电视:失焦图像包含黑色透明背景?

10

我的 Android TV 应用从服务器获取图片并在主屏幕上显示。问题是,所有未被选中的图片都包含黑色透明背景。

唯一不含透明背景的图片是当前选中的图片。我确保了这些图片是 png 格式的。当图片获得焦点时,背景就会被移除。

在 .xml 文件中,我没有使用 LinearLayout 或其他任何东西,只有一个 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
我还没有深入思考,所以无法想到其他的原因,导致安卓系统调整未选中的图像并只是丢失 Alpha 通道 :/ - ULazdins
@Pangu,你想要所有的图片背景都是透明的,无论是否被选中吗? - Jay Rathod
你使用什么机制来加载图片?从网络上获取吗?使用Picasso或Fresco或其他工具吗? - jwriteclub
你解决了这个问题吗?我遇到了同样的问题,我使用TextView。 - chinaanihchen
这里有一个类似的问题:http://stackoverflow.com/questions/36624317/remove-background-from-imagecardview/42490914#42490914 - Mario Velasco
显示剩余3条评论
1个回答

5
我找到了解决这个问题的方法。VertiGridPresenter的默认灰度值是true,将其设置为false,如下所示:VertiGridPresenter's dimmer 默认为 true,将其设置为false
VerticalGridPresenter gridPresenter = new VerticalGridPresenter(FocusHighlight.ZOOM_FACTOR_NONE, false);

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


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接