Pregunta

Quiero dar el efecto de que el ListView se ha desvanecido de lo que está a su alrededor. Por defecto está configurado a cualquier color de su ListView es. Puedo ajustar la orientación de la FadingEdge y el tamaño de la FadingEdge pero no el color. ¿Es posible?

¿Fue útil?

Solución

Sí se puede!

setCacheColorHint(Color.WHITE);

Otros consejos

Usted tendrá que crear una nueva clase que se extiende 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;
  }
}

Puede utilizar esta vista de la lista de forma idéntica a un ListView normal (aunque tendrá que emitir correctamente para utilizar el fadeColor métodos de acceso). En el código XML, en lugar de definir un objeto como <ListView android:properties.../> definirlo como <com.mypackage.ColorFadeListView android:properties.../>

Puede probar esto (es un truco, lo sé):

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

Me tomó ventaja del hecho de que el efecto de brillo es en realidad un Disponibles compartido y aplica un filtro en él: http://evendanan.net/android/branding/2013/12/09/branding-edge-effect/

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top