2016-07-14 29 views
10

La mia app Android TV recupera le immagini da un server e la visualizza sulla schermata principale. Il problema è che tutte le immagini che non sono focalizzate, cioè non selezionate, contengono uno sfondo nero trasparente.Android TV: l'immagine sfocata contiene uno sfondo nero trasparente?

L'unica immagine che non contiene uno sfondo trasparente è l'immagine attualmente selezionata. Mi sono assicurato che le immagini fossero pngs. Non appena l'immagine è a fuoco, lo sfondo viene rimosso.

Non sto utilizzando un LinearLayout o qualcosa nel .xml, solo una classe GridItemPresenter.

Che cosa sta causando questo e come posso risolvere questo?

Ho provato ad aggiungere il seguente view.setBackgroundColor(Color.TRANSPARENT) ma ciò non ha alcun effetto.

Ecco il mio codice:

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); 
    } 
} 

Il volto contiene uno sfondo nero quando non-selezionata, ma dal momento che è stato selezionato, lo sfondo non è lì: enter image description here

+0

Forse è possibile allegare uno screenshot del problema? – ULazdins

+0

@ULazdins, fatto – Pangu

+0

Ti sei assicurato di controllare l'immagine per vedere che lo sfondo è lì? – JoxTraex

risposta

4

ho trovato un modo per risolvere Questo. dimmer di default VertiGridPresenter s' è true, impostarlo su false come:

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

o modificare la voce tema <item name="overlayDimDimmedLevel">10%</item> nel @style/Theme.Leanback, il valore percentuale impostare il valore trasparente quando impostato al 100% lo sfondo nero.

Problemi correlati