Domanda

Voglio dare l'effetto che la ListView è svanito da tutto ciò che è intorno ad esso. Di default è impostato su qualsiasi colore il vostro ListView è. Posso regolare l'orientamento del FadingEdge e la dimensione del FadingEdge ma non il colore. E 'possibile?

È stato utile?

Soluzione

Sì, è possibile!

setCacheColorHint(Color.WHITE);

Altri suggerimenti

È necessario creare una nuova classe che estende ListView.

package com.mypackage;

import android.content.Context;
import android.util.AttributeSet;
import android.widget.ListView;

public class ColorFadeListView extends ListView
{
  // fade to green by default
  private static int mFadeColor = 0xFF00FF00;
  public ColorFadeListView(Context context, AttributeSet attrs)
  {
    this(context, attrs,0);
  }
  public ColorFadeListView(Context context, AttributeSet attrs, int defStyle)
  {
    super(context,attrs,defStyle);      
    setFadingEdgeLength(30);
    setVerticalFadingEdgeEnabled(true);
  }
  @Override
  public int getSolidColor()
  {
    return mFadeColor;
  }
  public void setFadeColor( int fadeColor )
  {
    mFadeColor = fadeColor;
  }
  public int getFadeColor()
  {
    return mFadeColor;
  }
}

È possibile utilizzare questa visualizzazione elenco in modo identico ad un ListView normale (anche se dovrete lanciare correttamente per utilizzare il fadeColor metodi di accesso). Nel vostro XML, invece di definire un oggetto come <ListView android:properties.../> definirlo come <com.mypackage.ColorFadeListView android:properties.../>

Si può provare questo (si tratta di un hack, lo so):

int glowDrawableId = context.getResources().getIdentifier("overscroll_glow", "drawable", "android");
Drawable androidGlow = context.getResources().getDrawable(glowDrawableId);
androidGlow.setColorFilter(brandColor, PorterDuff.Mode.MULTIPLY);

ho approfittato del fatto che l'effetto bagliore è in realtà un Drawable condiviso e applicato un filtro su di esso: http://evendanan.net/android/branding/2013/12/09/branding-edge-effect/

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top