Sí, extender ScrollView y anular estos métodos (basado en Donut-release2):
@Override
protected float getTopFadingEdgeStrength() {
if (getChildCount() == 0) {
return 0.0f;
}
return 1.0f;
}
@Override
protected float getBottomFadingEdgeStrength() {
if (getChildCount() == 0) {
return 0.0f;
}
return 1.0f;
}
Por el bien de la comparación, este es el código original, lo que acorta el borde de descoloramiento como te acercas al final de la lista:
@Override
protected float getTopFadingEdgeStrength() {
if (getChildCount() == 0) {
return 0.0f;
}
final int length = getVerticalFadingEdgeLength();
if (mScrollY < length) {
return mScrollY/(float) length;
}
return 1.0f;
}
@Override
protected float getBottomFadingEdgeStrength() {
if (getChildCount() == 0) {
return 0.0f;
}
final int length = getVerticalFadingEdgeLength();
final int bottomEdge = getHeight() - mPaddingBottom;
final int span = getChildAt(0).getBottom() - mScrollY - bottomEdge;
if (span < length) {
return span/(float) length;
}
return 1.0f;
}
¿Puedes decirme por qué querrías hacer eso? El efecto de desvanecimiento está diseñado con el propósito específico de informar al usuario que puede desplazarse en esa dirección. Si lo cambia para mostrar siempre el fading edge, el usuario pensaría que puede desplazarse en cualquier dirección y pensar que algo se rompe cuando no es posible. –