Frage

Ich möchte den Effekt geben, dass das Listview aus verblasst, was auch immer um ihn herum ist. Standardmäßig wird es auf, was Farbe Ihre Listview ist. Ich kann die Ausrichtung des FadingEdge und die Größe des FadingEdge anpassen, aber nicht die Farbe. Ist es möglich?

War es hilfreich?

Lösung

Ja, Sie können!

setCacheColorHint(Color.WHITE);

Andere Tipps

Sie müssen eine neue Klasse erstellen, die Listview erweitert.

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

Sie können diese Listenansicht verwenden, identisch zu einem normalen ListView (obwohl man es werfen müssen werde richtig die fadeColor Accessormethoden zu verwenden). In Ihrem XML, anstatt ein Objekt als <ListView android:properties.../> definieren definiert es als <com.mypackage.ColorFadeListView android:properties.../>

Sie können versuchen, diese (es ist ein Hack, ich weiß):

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

Ich nutzte die Tatsache, dass der Leuchteffekt ist eigentlich eine gemeinsame Drawable und angelegt, um einen Filter auf sie: http://evendanan.net/android/branding/2013/12/09/branding-edge-effect/

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top