Question

Je veux donner l'effet que le ListView a disparu de tout ce qui est autour d'elle. Par défaut, il est réglé sur quelle que soit la couleur de votre ListView est. Je peux régler l'orientation du FadingEdge et la taille de la FadingEdge mais pas la couleur. Est-il possible?

Était-ce utile?

La solution

Oui, vous pouvez!

setCacheColorHint(Color.WHITE);

Autres conseils

Vous aurez besoin de créer une nouvelle classe qui étend 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;
  }
}

Vous pouvez utiliser cette vue liste identique à une ListView normale (bien que vous devrez jeter correctement utiliser les méthodes fadeColor accesseur). Dans votre XML, au lieu de définir un objet comme <ListView android:properties.../> définir comme <com.mypackage.ColorFadeListView android:properties.../>

Vous pouvez essayer (c'est un hack, je sais):

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

Je profite du fait que l'effet de lumière est en fait un Drawable et appliqué un filtre partagé sur elle: http://evendanan.net/android/branding/2013/12/09/branding-edge-effect/

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top