2016-07-14 116 views
10

我的Android TV應用程序從服務器獲取圖像並將其顯示在主屏幕上。問題是,所有未聚焦的圖像,即未選中的圖像都包含黑色透明背景。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); 
    } 
} 

面對包含一個黑色的背景時,未選中的,但既然選擇了,背景是不存在的: enter image description here

+0

也許你可以附上問題的截圖? – ULazdins

+0

@ULazdins,完成 – Pangu

+0

你確定要檢查圖像,看看背景是否存在? – JoxTraex

回答

4

我找到了一種方法來解決這個。 VertiGridPresenter的調光器默認是true,其設置爲false像:

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

@style/Theme.Leanback更換主題項<item name="overlayDimDimmedLevel">10%</item> ,設定爲100%背景將黑色時的百分比值設置透明值。