2016-07-14 15 views
10

Meine Android TV-App ruft Bilder von einem Server ab und zeigt sie auf dem Startbildschirm an. Das Problem besteht darin, dass alle Bilder, die nicht fokussiert sind, d. H. Nicht ausgewählt sind, einen schwarzen transparenten Hintergrund enthalten.Android TV: unfocused Bild enthält schwarz transparenten Hintergrund?

Das einzige Bild, das keinen transparenten Hintergrund enthält, ist das aktuell ausgewählte Bild. Ich stellte sicher, dass die Bilder PNGs waren. Sobald das Bild fokussiert ist, wird der Hintergrund entfernt.

Ich verwende keine LinearLayout oder irgendetwas in der .xml, nur eine GridItemPresenter Klasse.

Was verursacht dies und wie kann ich das beheben?

Ich habe versucht, die folgenden view.setBackgroundColor(Color.TRANSPARENT) hinzuzufügen, aber das hat keine Wirkung.

Hier ist mein Code:

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

Das Gesicht enthält einen schwarzen Hintergrund, wenn nicht-ausgewählt, aber da es ausgewählt ist, ist der Hintergrund nicht da: enter image description here

+0

Vielleicht können Sie einen Screenshot des Problems beifügen? – ULazdins

+0

@ULazdins, done – Pangu

+0

Haben Sie das Bild überprüft, um zu sehen, dass der Hintergrund vorhanden ist? – JoxTraex

Antwort

4

ich einen Weg gefunden zu beheben Dies. VertiGridPresenter ‚s Dimmer Standard ist true, setzen Sie ihn auf false wie:

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

oder <item name="overlayDimDimmedLevel">10%</item> Thema Punkt in @style/Theme.Leanback ändern, wird der Prozentwert der transparenten Wert eingestellt, wenn 100% gesetzt der Hintergrund schwarz wird.