我的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);
}
}
答案 0 :(得分:4)
我找到了解决这个问题的方法。 VertiGridPresenter
的调光器默认值为true
,将其设置为false
,如:
VerticalGridPresenter gridPresenter = new VerticalGridPresenter(FocusHighlight.ZOOM_FACTOR_NONE, false);
或更改<item name="overlayDimDimmedLevel">10%</item>
中的主题项@style/Theme.Leanback
,百分比值设置为100%时的透明值,背景为黑色。