【问题标题】:Android TV: unfocused image contains black transparent background?Android TV:未聚焦的图像包含黑色透明背景?
【发布时间】:2016-11-16 23:33:13
【问题描述】:

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

唯一不包含透明背景的图像是当前选定的图像。我确保图像是png。一旦图像聚焦,背景就会被移除。

我没有使用 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);
    }
}

未选中时,面部包含黑色背景,但由于已选中,因此背景不存在:

【问题讨论】:

  • 能否附上问题截图?
  • 您确定检查图像是否有背景吗?
  • 如果不深入挖掘,我想不出 Android 正在调整未选择图像的大小并且只是失去 alpha 通道的任何其他内容:/
  • @Pangu 你想让所有的图片背景都是透明的,无论是选中还是没选中?
  • 我希望所有背景图片都是透明的,无论是否选中

标签: java android android-tv


【解决方案1】:

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

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-11-15
    • 1970-01-01
    • 1970-01-01
    • 2023-03-15
    • 2022-01-17
    • 1970-01-01
    • 2016-02-22
    • 2012-06-26
    相关资源
    最近更新 更多